NHN Cloud > Public API User Guide > Framework API
The following APIs allow you to manage your organization and projects, such as creating project members and assigning roles. Framework API uses User Access Key tokens for authentication and authorization when making API calls. The User Access Key token is a temporary, Bearer-type access token issued from a User Access Key. For more information on issuing and using User Access Key tokens, please refer to the User Access Key Token.
https://core.api.nhncloudservice.com/
When calling the Public API, you must include the Request Header below.
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Header | x-nhn-authorization | String | Yes | Bearer type token issued to the user |
When the Public API returns, the header part below is included in the response body.
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| isSuccessful | Boolean | No | Successful or not |
| resultCode | Integer | No | Result code. 0 is returned on success, or an error code on failure. |
| resultMessage | String | No | Result message |
| Name | Type | Size | Description |
|---|---|---|---|
| org-id | String | 16 characters | Organization ID |
| project-id | String | 8 characters | Project ID |
| product-id | String | 8 characters | Service ID |
| user-access-key-id | String | 20 characters | User Access Key ID |
| project-app-key | String | 20 characters | The project's AppKey |
| product-app-key | String | 16 characters | The service's AppKey |
| UUID | String | 36 characters | Member's UUID |
Caution
If you set IP ACLs through Organization Management > Governance Settings > Organization Governance Settings > IP ACL Settings, those settings are also applied to calls to the framework API.
Caution
Responses from the API can have fields added that are not specified in the guide, so they should be developed so that new fields added do not cause errors.
Also, when saving the DB, the column size may change, so you should set it generously.
POST "/v1/projects/{project-id}/members"
API to add members to a project.
Project.Member.Create
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | The project ID to which you want to add the member |
| Request Body | request | CreateMemberRequest | Yes | Request |
Caution
At least one of memberUuid, email, and userCode must have a value when requested.
If you're checking for values in the order memberUuid > email > userCode, add that member as a project member.
Only one project member can be created in a request.
| Name | Type | Required | Description |
|---|---|---|---|
| assignRoles | List |
Yes | List of roles to assign to users |
| memberUuid | String | No | UUID of the member to add |
| String | No | The email of the member you want to add | |
| userCode | String | No | IAM member ID to add |
| Name | Type | Required | Description |
|---|---|---|---|
| roleId | String | Yes | Role ID |
| conditions | List |
No | Role condition attribute |
| Name | Type | Required | Description |
|---|---|---|---|
| attributeId | String | Yes | Condition attribute ID |
| attributeOperatorTypeCode | String | Yes | Condition attribute operator Available operators vary depending on the conditional attribute data type
|
| attributeValues | List |
Yes | Condition attribute value |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
POST "/v1/organizations/{org-id}/projects"
API to add projects to your organization.
Organization.Project.Create
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID to add the project to |
| Request Body | request | CreateProjectRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| description | String | No | Project description (up to 100 characters) |
| projectName | String | Yes | Project name (up to 40 characters) |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"project": {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"description": "description",
"projectName": "projectName",
"projectId": "projectId",
"orgId": "orgId",
"projectStatusCode": "STABLE"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| regDateTime | Date | Yes | When the project is created |
| description | String | No | Project description |
| ownerId | String | Yes | Project owner member ID |
| projectName | String | Yes | Project name |
| projectId | String | Yes | Project ID |
| orgId | String | Yes | Organization ID |
| projectStatusCode | String | Yes | Project status
|
DELETE "/v1/projects/{project-id}/members/{target-uuid}"
API to delete a user from a project.
Project.Member.Delete
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Path | target-uuid | String | Yes | Member UUID to delete |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
DELETE "/v1/projects/{project-id}"
API to delete a project.
You'll need one permission from the list below
* Organization.Project.Delete
* Project.Delete
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to delete |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
DELETE "/v1/projects/{project-id}/products/{product-id}/disable"
API to disable a user-specified service so that it is no longer used by this project.
Service Name: Product.Delete
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID of the project you want to shut down |
| Path | product-id | String | Yes | Service ID |
{
"childProducts": [ {
"productId": "productId",
"productName": "productName",
"statusCode": "STABLE"
} ],
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| childProducts | List |
No | Subservice information for that service, not included if there are no subservices. Requires you to disable the child service first and then disable the service. |
| Name | Type | Required | Description |
|---|---|---|---|
| productId | String | Yes | Subservice ID |
| productName | String | Yes | Subservice name |
| statusCode | String | Yes | Service status (STABLE, CLOSED) |
POST "/v1/projects/{project-id}/products/{product-id}/enable"
An API that requests to enable a service you specify to be available in your project.
Service Name: Product.Create
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | product-id | String | Yes | Service ID |
| Path | project-id | String | Yes | The ID of the project you want to use the service for |
{
"secretKey": "secretKey",
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"appKey": "appKey",
"parentProduct": {
"productId": "productId",
"productName": "productName",
"statusCode": "STABLE"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| appKey | String | Yes | AppKey information for the service your project is using |
| parentProduct | ParentProduct | No | Shows parent service information if it exists, or does not include it if no parent service exists |
| secretKey | String | No | Secret key information for the service your project is using. Only available for services that use secret keys |
| Name | Type | Required | Description |
|---|---|---|---|
| productId | String | Yes | Service ID |
| productName | String | Yes | Service name |
| statusCode | String | Yes | Service status (STABLE, CLOSED) |
GET "/v1/organizations/{org-id}/roles"
API to request a list of roles that can be granted to users in your organization.
Organization.RoleGroup.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Query | categoryTypeCodes | List |
No | Role/Permission/Role Group Category Distinction (ROLE, PERMISSION, ROLE_GROUP) |
| Query | roleNameLike | String | No | Role/privilege/role group name |
| Query | limit | Integer | No | Number of displays per page, default 20 |
| Query | page | Integer | No | Target Page, default 1 |
{
"roles": [ {
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"roleCategory": "ORG_ROLE",
"categoryTypeCode": "ORG_ROLE_GROUP"
}],
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"totalCount": 0
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| roles | List |
Yes | Roles list |
| totalCount | Integer | Yes | Total count |
| Name | Type | Required | Description |
|---|---|---|---|
| categoryKey | String | Yes | Role/Privilege Category Taxonomy Key
|
| categoryTypeCode | String | Yes | Role group/role/privilege distinguishing codes (ORG_ROLE_GROUP, PERMISSION, ROLE, ROLE_GROUP, SYSTEM) |
| description | String | Yes | Role/privilege description |
| roleCategory | String | Yes | Role/Privilege Category Broad Classification (ORG_ROLE, ORG_ROLE_GROUP, ORG_SERVICE_ROLE, PROJECT_ROLE, PROJECT_ROLE_GROUP, PROJECT_SERVICE_ROLE, SYSTEM_ROLE) |
| roleId | String | Yes | Role/Privilege ID |
| roleName | String | Yes | Role/privilege name |
GET "/v1/projects/{project-id}/roles"
API to request a list of roles that can be granted to project users.
Project.RoleGroup.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Query | categoryTypeCodes | List |
No | Role/Permission/Role Group Category Distinction (ROLE, PERMISSION, ROLE_GROUP) |
| Query | roleNameLike | String | No | Role/privilege/role group name |
| Query | limit | Integer | No | Number of displays per page, default 20 |
| Query | page | Integer | No | Target Page, default 1 |
{
"roles": [ {
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"roleCategory": "ORG_ROLE",
"categoryTypeCode": "ORG_ROLE_GROUP"
}],
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"totalCount": 0
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| roles | List<RoleProtocol> | Yes | Roles list |
| totalCount | Integer | Yes | Total count |
GET "/v1/organizations/{org-id}/domains"
API to look up domains for a specific organization.
Organization.Domain.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | The ID of the organization to look up |
{
"domainList": [
{
"domainId": "string",
"domainName": "string"
}
],
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "string"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| domainList | List |
Yes |
| Name | Type | Required | Description |
|---|---|---|---|
| orgDomainId | String | Yes | Organization domain ID |
| orgDomainName | String | Yes | Organization domain name |
GET "/v1/organizations/{org-id}/members/{member-uuid}"
API to get members belonging to an organization.
Organization.Member.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID for which you want to look up members |
| Path | member-uuid | String | Yes | Member UUID to look up |
{
"orgMember": {
"memberUuid": "memberUuid",
"roleId": "roleId",
"memberTypeCode": "memberTypeCode",
"roles": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleApplyPolicyCode": "ALLOW",
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"categoryTypeCode": "ORG_ROLE_GROUP",
"conditions": [ {
"attributeId": "attributeId",
"attributeOperatorTypeCode": "ALLOW",
"attributeValues": [ "attributeValues", "attributeValues" ],
"attributeDescription": "attributeDescription",
"attributeName": "attributeName",
"attributeDataTypeCode": "BOOLEAN"
}]
}],
"inviteStatusCode": "COMPLETE",
"memberName": "memberName",
"recentPasswordModifyYmdt": "2000-01-23T04:56:07.000+00:00",
"recentLoginYmdt": "2000-01-23T04:56:07.000+00:00",
"roleCode": "roleCode",
"secondFactorCertificationYn": "secondFactorCertificationYn",
"id": "id",
"joinYmdt": "2000-01-23T04:56:07.000+00:00",
"email": "email"
},
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| orgMember | OrgMemberRoleBundleProtocol | No | Added member information, not included on error |
| Name | Type | Required | Description |
|---|---|---|---|
| String | Yes | Member email | |
| id | String | No | Member ID (available only to IAM members) |
| inviteStatusCode | String | Yes | COMPLETE, EXPIRE, UNKNOWN, WAIT |
| joinYmdt | Date | Yes | Organization member enrollment date |
| memberName | String | Yes | Member name |
| memberTypeCode | String | Yes | Member classification (TOAST_CLOUD: NHN Cloud member, IAM: IAM member) |
| memberUuid | String | Yes | Member's UUID |
| recentLoginYmdt | Date | Yes | Last login date |
| recentPasswordModifyYmdt | Date | No | Date of last password change |
| roleCode | String | No | Role ID |
| roles | List |
No | List of related roles (with condition attributes) |
| secondFactorCertificationYn | String | No | Whether to set up two-step sign-in (available to NHN Cloud members only) |
| Name | Type | Required | Description |
|---|---|---|---|
| roleId | String | Yes | Role ID |
| roleName | String | Yes | Role name |
| description | String | No | Role descriptions |
| categoryKey | String | Yes | Role/Privilege Category Taxonomy Key
|
| categoryTypeCode | String | Yes | Role group/role/privilege distinguishing codes (ORG_ROLE_GROUP, PERMISSION, ROLE, ROLE_GROUP, SYSTEM) |
| conditions | List |
No | Condition attributes |
| roleApplyPolicyCode | String | Yes | Whether the role is enabled ALLOW, DENY |
| regDateTime | Date | Yes | When the role was created |
| Name | Type | Required | Description |
|---|---|---|---|
| attributeDataTypeCode | String | Yes | Conditional attribute data type (BOOLEAN, DATETIME, DAY_OF_WEEK, IPADDRESS, NUMERIC, STRING, TIME) |
| attributeDescription | String | No | Condition attribute description |
| attributeId | String | Yes | Condition attribute ID |
| attributeName | String | Yes | Condition attribute name |
| attributeOperatorTypeCode | String | Yes | Condition attribute operator Available operators vary depending on the conditional attribute data type
|
| attributeValues | List |
Yes | Condition attribute value |
POST "/v1/organizations/{org-id}/members/search"
API to get a list of NHN Cloud members belonging to an organization.
Organization.Member.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Request Body | request | SearchOrgMembersRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| memberStatusCodes | List |
No | Status of the member to look up
|
| roleIds | Set |
No | Role IDs assigned to members |
| paging | PagingBean | No |
| Name | Type | Required | Description |
|---|---|---|---|
| limit | Integer | No | Number of displays per page, default 20 |
| page | Integer | No | Target Page, default 1 |
{
"orgMembers": [ {
"memberUuid": "memberUuid",
"memberTypeCode": "memberTypeCode",
"inviteStatusCode": "COMPLETE",
"maskingEmail": "maskingEmail",
"memberName": "memberName",
"secondFactorCertificationYn": "secondFactorCertificationYn",
"id": "id",
"joinYmdt": "2000-01-23T04:56:07.000+00:00",
"recentPasswordModifyYmdt": "2000-01-23T04:56:07.000+00:00",
"email": "email",
"recentLoginYmdt": "2000-01-23T04:56:07.000+00:00"
}],
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| orgMembers | List |
Yes | Organization member list |
| paging | PagingResponse | Yes | About the page |
| Name | Type | Required | Description |
|---|---|---|---|
| String | Yes | The member's email address | |
| inviteStatusCode | String | No | Member's invitation status (COMPLETE, EXPIRE, UNKNOWN, WAIT) |
| joinYmdt | Date | Yes | When you joined |
| maskingEmail | String | Yes | Member's masked email |
| memberName | String | Yes | Member's name |
| memberTypeCode | String | Yes | Member classification (TOAST_CLOUD: NHN Cloud member, IAM: IAM member) |
| memberUuid | String | No | Member's UUID Doesn't return a value if you're inviting |
| recentLoginYmdt | Date | Yes | Last login date |
| recentPasswordModifyYmdt | Date | No | Date of last password change |
| secondFactorCertificationYn | String | No | Whether to set up two-step sign-in (available to NHN Cloud members only) |
| Name | Type | Required | Description |
|---|---|---|---|
| limit | Integer | No | Number of displays per page, default 20 |
| page | Integer | No | Target Page, default 1 |
| totalCount | Long | Yes | Total number of cases |
GET "/v1/organizations/{org-id}/project-role-groups"
API to get a list of project common role groups set up by your organization.
Organization.Project.RoleGroup.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID for the lookup |
| Query | descriptionLike | String | No | Description |
| Query | roleGroupNameLike | String | No | Role group name |
| Query | limit | Integer | No | Number of displays per page, default 20 |
| Query | page | Integer | No | Target Page, default 1 |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
},
"roleGroups": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleGroupType": "ORG",
"description": "description",
"roleGroupName": "roleGroupName",
"roleGroupId": "roleGroupId"
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | |
| roleGroups | List |
Yes | List of available role groups in your project |
| Name | Type | Required | Description |
|---|---|---|---|
| description | String | No | Role group descriptions |
| regDateTime | Date | Yes | When the role group was created |
| roleGroupId | String | Yes | Role group ID |
| roleGroupName | String | Yes | Name of the role group |
| roleGroupType | String | Yes | Types of role groups
|
GET "/v1/product-uis/hierarchy"
API to return homepage category, homepage service information that is exposed on the bill.
This API can be called without specific permissions if you are signed up to NHN Cloud.
However, if you're viewing an organization's services, you must be a member of a project in that organization or a project under that organization.
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Query | productUiType | String | Yes | Service UI Types
|
| Query | orgId | String | No | Organization ID must be entered if the product UI type is ORG |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"productUiList": [ {
"productUiId": "productUiId",
"parentProductUiId": "parentProductUiId",
"children": [ null ],
"productUiName": "productUiName",
"productId": "productId",
"manualLink": "manualLink"
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| productUiList | List |
Yes | Homepage Category Service UI List |
| Name | Type | Required | Description |
|---|---|---|---|
| children | List |
No | Homepage Service UI List |
| manualLink | String | No | |
| parentProductUiId | String | No | Service UI divisions |
| productId | String | No | |
| productUiId | String | No | Service UI identification key |
| productUiName | String | No |
GET "/v1/projects/{project-id}/products/{product-id}"
Service Name: ProductAppKey.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to look up |
| Path | product-id | String | Yes | Service ID to look up |
{
"hasUpdateSecretKeyPermission": true,
"product": {
"updateDate": "updateDate",
"productId": "productId",
"relationDate": "relationDate",
"secretKey": "secretKey",
"externalId": "externalId",
"productSecretKeyCode": "F",
"productName": "productName",
"updateUuid": "updateUuid",
"appKey": "appKey",
"productStatusCode": "STABLE",
"projectId": "projectId",
"statusCode": "STABLE"
},
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| hasUpdateSecretKeyPermission | Boolean | Yes | Permission to reissue secret keys |
| product | ProjectProductRelationAndProductProtocol | Yes | Returns information about the services being used by the project for the specified service ID, not including on error |
| Name | Type | Required | Description |
|---|---|---|---|
| appKey | String | Yes | AppKey information for the service your project is using |
| externalId | String | No | Tenant ID Only available if the tenant ID exists for the service |
| productId | String | Yes | Service ID |
| productName | String | Yes | Service name |
| productSecretKeyCode | String | No | Whether to use a secret key T: Enabled Others: Not used (F, N) |
| productStatusCode | String | Yes | Service status (STABLE, CLOSED) |
| projectId | String | Yes | The project ID that uses the service |
| relationDate | Date | Yes | When you started using the service |
| secretKey | String | Yes | Service SecretKey Only available on services that use secretKey |
| statusCode | String | Yes | The service's usage status (STABLE, CLOSED) |
| updateDate | Date | No | Service last modified date |
| updateUuid | String | No | Service AppKey Modifier UUID |
GET "/v1/projects/{project-id}/members/{member-uuid}"
API to get a specific member of a project.
Project.Member.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to look up members |
| Path | member-uuid | String | Yes | Member UUID to look up |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"projectMember": {
"emailAddress": "emailAddress",
"memberTypeCode": "IAM",
"roles": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleApplyPolicyCode": "ALLOW",
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"categoryTypeCode": "ORG_ROLE_GROUP",
"conditions": [ {
"attributeId": "attributeId",
"attributeOperatorTypeCode": "ALLOW",
"attributeValues": [ "attributeValues", "attributeValues" ],
"attributeDescription": "attributeDescription",
"attributeName": "attributeName",
"attributeDataTypeCode": "BOOLEAN"
} ]
} ],
"maskingEmail": "maskingEmail",
"memberName": "memberName",
"relationDateTime": "2000-01-23T04:56:07.000+00:00",
"uuid": "uuid",
"statusCode": "COMPLETE"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| projectMember | ProjectMemberRoleBundleProtocol | Yes | Added member information, not included on error |
| Name | Type | Required | Description |
|---|---|---|---|
| emailAddress | String | No | Member email address |
| maskingEmail | String | No | Member's masked email |
| memberName | String | No | Member name |
| memberTypeCode | String | No | Member Distinction (IAM, TOAST_CLOUD) |
| relationDateTime | Date | No | Time to add members |
| roles | List |
No | List of related roles (with condition attributes) |
| statusCode | String | No | Invitation status codes (COMPLETE, EXPIRE, UNKNOWN, WAIT) |
| UUID | String | No | Member UUID |
POST "/v1/projects/{project-id}/members/search"
API for getting a list of members belonging to a project.
Project.Member.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to look up |
| Request Body | request | SearchProjectMembersRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| memberStatusCodes | List |
No | Project member status codes (INVITED, STABLE) |
| roleIds | List |
No | List of role IDs |
| paging | PagingBean | No |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
},
"projectMembers": [ {
"emailAddress": "emailAddress",
"memberTypeCode": "TOAST_CLOUD",
"maskingEmail": "maskingEmail",
"memberName": "memberName",
"relationDateTime": "2000-01-23T04:56:07.000+00:00",
"uuid": "uuid",
"statusCode": "COMPLETE"
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | |
| projectMembers | List |
Yes | Project members |
| Name | Type | Required | Description |
|---|---|---|---|
| emailAddress | String | No | Member email address |
| maskingEmail | String | No | Member's masked email |
| memberName | String | No | Member name |
| memberTypeCode | String | No | Separate members |
| relationDateTime | Date | No | Time to add members |
| statusCode | String | No | Invitation status codes (COMPLETE, EXPIRE, UNKNOWN, WAIT) |
| UUID | String | No | Member UUID |
GET "/v1/projects/{project-id}/project-role-groups/{role-group-id}"
API to get a project's role groups.
Project.RoleGroup.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to look up |
| Path | role-group-id | String | Yes | Project role group ID Project common role group IDs cannot be looked up |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"roleGroup": {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleGroupType": "ORG",
"roles": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleApplyPolicyCode": "ALLOW",
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"categoryTypeCode": "ORG_ROLE_GROUP",
"conditions": [ {
"attributeId": "attributeId",
"attributeOperatorTypeCode": "ALLOW",
"attributeValues": [ "attributeValues", "attributeValues" ],
"attributeDescription": "attributeDescription",
"attributeName": "attributeName",
"attributeDataTypeCode": "BOOLEAN"
} ]
} ],
"description": "description",
"roleGroupName": "roleGroupName",
"roleGroupId": "roleGroupId"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| roleGroup | RoleGroupBundleProtocol | Yes | Role groups with related roles |
| Name | Type | Required | Description |
|---|---|---|---|
| roleGroupId | String | No | Role group ID |
| roleGroupName | String | No | Role group name |
| description | String | No | Role group descriptions |
| roleGroupType | String | No | Role group distinction (organization, project) |
| roles | List |
No | List related roles |
| regDateTime | Date | No | Registered date and time |
GET "/v1/organizations/{org-id}/project-role-groups/{role-group-id}"
API to get project common role groups.
Organization.Project.RoleGroup.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID for the lookup |
| Path | role-group-id | String | Yes | Project common role group ID |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"roleGroup": {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleGroupType": "ORG",
"roles": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleApplyPolicyCode": "ALLOW",
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"categoryTypeCode": "ORG_ROLE_GROUP",
"conditions": [ {
"attributeId": "attributeId",
"attributeOperatorTypeCode": "ALLOW",
"attributeValues": [ "attributeValues", "attributeValues" ],
"attributeDescription": "attributeDescription",
"attributeName": "attributeName",
"attributeDataTypeCode": "BOOLEAN"
} ]
} ],
"description": "description",
"roleGroupName": "roleGroupName",
"roleGroupId": "roleGroupId"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| roleGroup | RoleGroupBundleProtocol | Yes | Role groups with related roles |
GET "/v1/projects/{project-id}/project-role-groups"
API to get all role groups in a project.
Project.RoleGroup.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to look up |
| Query | descriptionLike | String | No | Description |
| Query | roleGroupNameLike | String | No | Role group name |
| Query | limit | Integer | No | Number of displays per page, default 20 |
| Query | page | Integer | No | Target Page, default 1 |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
},
"roleGroups": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleGroupType": "ORG",
"description": "description",
"roleGroupName": "roleGroupName",
"roleGroupId": "roleGroupId"
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | |
| roleGroups | List<RoleGroupProtocol> | Yes | List of available role groups in your project |
GET "/v1/organizations/{org-id}/projects"
API to get a list of projects in a STABLE state that belong to a specific organization.
Members of an organization
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | The ID of the organization to look up |
| Query | memberUuid | String | No | Organization member UUID |
| Query | projectName | String | No | Project name |
| Query | page | Integer | No | Target Page, default 1 |
| Query | limit | Integer | No | Number of displays per page, default 20 |
{
"projectList": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"delDateTime": "2000-01-23T04:56:07.000+00:00",
"description": "description",
"orgId": "orgId",
"projectStatusCode": "STABLE",
"modDateTime": "2000-01-23T04:56:07.000+00:00",
"projectName": "projectName",
"projectId": "projectId"
} ],
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | |
| projectList | List |
Yes |
| Name | Type | Required | Description |
|---|---|---|---|
| delDateTime | Date | No | Project deletion date |
| description | String | No | Project description |
| modDateTime | Date | No | Project modification date |
| orgId | String | Yes | The organization ID the project belongs to |
| projectId | String | Yes | Project ID |
| projectName | String | Yes | Project name |
| projectStatusCode | String | Yes | Project status
|
| regDateTime | Date | Yes | Project registration date |
GET "/v1/organizations/{org-id}/governances"
API to get the active governance.
Organization.Governance.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID for the lookup |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"usingGovernances": [ {
"regDatetime": "2000-01-23T04:56:07.000+00:00",
"governanceTypeCode": "governanceTypeCode"
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| usingGovernances | List |
No | List governance in use |
| Name | Type | Required | Description |
|---|---|---|---|
| governanceTypeCode | String | No | Governance type - APPROVE_PROCESS: Approval processing - BLOCK_STORAGE_SNAPSHOT: Whether to use BlockStorage's Snapshot function - IAAS_RESOURCE_PROTECTION_AND_SEPARATED_NETWORK: IAAS resource permission control and access terminal restriction settings - PRIVACY_PROTECTION: privacy protection - UNIQUE_INSTANCE_NAME: prevent instance name duplication |
| regDatetime | Date | No | When to enable governance |
POST "/v1/organizations/{org-id}/project-role-groups"
API to create project common role groups.
Organization.Project.RoleGroup.Create
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Request Body | request | CreateRoleGroupRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| description | String | No | Role group descriptions |
| roleGroupName | String | Yes | Role group name |
| roles | List |
Yes | List roles to assign to a role group |
| Name | Type | Required | Description |
|---|---|---|---|
| conditions | List<AssignAttributeConditionProtocol> | No | Role condition attribute |
| roleApplyPolicyCode | String | Yes | Whether the role is enabled ALLOW, DENY |
| roleId | String | Yes | Role ID |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
DELETE "/v1/organizations/{org-id}/project-role-groups"
API to delete a project common role group.
Organization.Project.RoleGroup.Delete
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Request Body | request | DeleteRoleGroupRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| roleGroupIds | List |
Yes | List of role group IDs |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
PUT "/v1/organizations/{org-id}/project-role-groups/{role-group-id}/infos"
API to modify the name and description of a project's common role group.
Organization.Project.RoleGroup.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Path | role-group-id | String | Yes | Role group ID |
| Request Body | request | UpdateRoleGroupInfoRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| description | String | No | Role group descriptions |
| roleGroupName | String | Yes | Role group name |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
PUT "/v1/organizations/{org-id}/project-role-groups/{role-group-id}/roles"
API to modify roles in the project common roles group.
Organization.Project.RoleGroup.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Path | role-group-id | String | Yes | Role group ID |
| Request Body | request | UpdateRoleGroupRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| roles | List<AssignRoleProtocol> | Yes | List roles to assign to a role group |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
POST "/v1/projects/{project-id}/project-role-groups"
API to create role groups in your project.
Project.RoleGroup.Create
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Request Body | request | CreateRoleGroupRequest | Yes | Request |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
DELETE "/v1/projects/{project-id}/project-role-groups"
API to delete a project role group.
Project.RoleGroup.Delete
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Request Body | request | DeleteRoleGroupRequest | Yes | Request |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
PUT "/v1/projects/{project-id}/project-role-groups/{role-group-id}/infos"
API to modify the name and description of a project role group.
Project.RoleGroup.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Path | role-group-id | String | Yes | Role group ID |
| Request Body | request | UpdateRoleGroupInfoRequest | Yes | Request |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
PUT "/v1/projects/{project-id}/project-role-groups/{role-group-id}/roles"
API to modify roles in the project role group.
Project.RoleGroup.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Path | role-group-id | String | Yes | Role group ID |
| Request Body | request | UpdateRoleGroupRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| roles | List<AssignRoleProtocol> | Yes | List roles to assign to a role group |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
GET "/v1/organizations/{org-id}/org-role-groups"
An API to view all organization role groups.
Organization.RoleGroup.List
| Category | name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID to be searched |
| Query | descriptionLike | String | No | Description (view results containing that string) |
| Query | roleGroupNameLike | String | No | Role group name (search for results containing that string) |
| Query | limit | Integer | No | Number of views per page (default: 20, minimum: 1, maximum: 2,000) |
| Query | page | Integer | No | target page (default: 1, minimum: 1) |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
},
"roleGroups": [
{
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleGroupType": "ORG_ROLE_GROUP",
"description": "description",
"roleGroupName": "roleGroupName",
"roleGroupId": "roleGroupId"
}
]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common Response | Yes | |
| paging | PagingResponse | Yes | |
| roleGroups | List<RoleGroupProtocol> | Yes | List of role groups available in your organization |
GET "/v1/organizations/{org-id}/org-role-groups/{role-group-id}"
An API to view an organization's role group.
Organization.RoleGroup.Get
| Category | name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID to be searched |
| Path | role-group-id | String | Yes | Organization role group ID |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"roleGroup": {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleGroupType": "ORG_ROLE_GROUP",
"roles": [
{
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleApplyPolicyCode": "ALLOW",
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"categoryTypeCode": "ROLE",
"conditions": [
{
"attributeId": "attributeId",
"attributeOperatorTypeCode": "ALLOW",
"attributeValues": [
"attributeValues",
"attributeValues"
],
"attributeDescription": "attributeDescription",
"attributeName": "attributeName",
"attributeDataTypeCode": "BOOLEAN"
}
]
}
],
"description": "description",
"roleGroupName": "roleGroupName",
"roleGroupId": "roleGroupId"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common Response | Yes | |
| roleGroup | RoleGroupBundleProtocol | Yes | Role group with associated roles |
POST "/v1/organizations/{org-id}/org-role-groups"
An API to create a role group in the organization.
Organization.RoleGroup.Create
| Category | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Request Body | Request | CreateRoleGroupRequest | Yes | Request |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common Response | Yes |
DELETE "/v1/organizations/{org-id}/org-role-groups"
An API to delete organization role groups.
Organization.RoleGroup.Delete
| Category | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Request Body | Request | DeleteRoleGroupRequest | Yes | Request |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common Response | Yes |
PUT "/v1/organizations/{org-id}/org-role-groups/{role-group-id}/infos"
An API to modify the name and description of an organization role group.
Organization.RoleGroup.Update
| Category | name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Path | role-group-id | String | Yes | Role group ID |
| Request Body | Request | UpdateRoleGroupInfoRequest | Yes | Request |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common Response | Yes |
PUT "/v1/organizations/{org-id}/org-role-groups/{role-group-id}/roles"
An API to modify roles in an organization role group.
Organization.RoleGroup.Update
| Category | name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Path | role-group-id | String | Yes | Role group ID |
| Request Body | request | UpdateRoleGroupRequest | Yes | Request |
| name | Type | Required | Description |
|---|---|---|---|
| roles | List<AssignRoleProtocol> | Yes | List of roles to assign to role group |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common Response | Yes |
PUT "/v1/organizations/{org-id}/members/{member-uuid}"
API to modify the roles of members who belong to this organization.
Organization.Member.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Path | member-uuid | String | Yes | UUID of the member to modify |
| Request Body | request | UpdateMemberRoleRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| assignRoles | List<UserAssignRoleProtocol> | Yes | List of roles to assign to users |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
PUT "/v1/projects/{project-id}/members/{member-uuid}"
API to modify the role of a specified member in a project.
Project.Member.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Path | member-uuid | String | Yes | Member UUID to change role to |
| Request Body | request | UpdateMemberRoleRequest | Yes | Request |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
GET "/v1/iam/organizations/{org-id}/members/{member-uuid}"
API to get the IAM members in your organization.
Organization.Member.Iam.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID to look up |
| Path | member-uuid | String | Yes | The IAM member UUID of the organization to look up |
{
"orgMember": {
"country": "country",
"englishName": "englishName",
"nativeName": "nativeName",
"passwordChangedAt": "2000-01-23T04:56:07.000+00:00",
"lastLoggedInAt": "2000-01-23T04:56:07.000+00:00",
"roles": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleApplyPolicyCode": "ALLOW",
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"categoryTypeCode": "ORG_ROLE_GROUP",
"conditions": [ {
"attributeId": "attributeId",
"attributeOperatorTypeCode": "ALLOW",
"attributeValues": [ "attributeValues", "attributeValues" ],
"attributeDescription": "attributeDescription",
"attributeName": "attributeName",
"attributeDataTypeCode": "BOOLEAN"
} ]
}],
"officeHoursEnd": "officeHoursEnd",
"userCode": "userCode",
"organizationId": "organizationId",
"createdAt": "2000-01-23T04:56:07.000+00:00",
"emailAddress": "emailAddress",
"lastLoggedInIp": "lastLoggedInIp",
"nickname": "nickname",
"idProviderId": "idProviderId",
"mobilePhoneCountryCode": "mobilePhoneCountryCode",
"id": "id",
"department": "department",
"saasRoles": [ {
"role": "role",
"productId": "productId",
"productName": "productName"
}],
"profileImageUrl": "profileImageUrl",
"lastAccessedAt": "2000-01-23T04:56:07.000+00:00",
"maskingEmail": "maskingEmail",
"telephone": "telephone",
"creationType": "creationType",
"idProviderType": "idProviderType",
"officeHoursBegin": "officeHoursBegin",
"mobilePhone": "mobilePhone",
"corporate": "corporate",
"idProviderUserId": "idProviderUserId",
"name": "name",
"position": "position",
"status": "status"
},
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| orgMember | OrgIamMemberRoleBundleProtocol | No |
| Name | Type | Required | Description |
|---|---|---|---|
| corporate | String | No | Company name |
| country | String | No | Nationality (nationality of the organization owner) |
| createdAt | Date | No | Date and time of creation |
| creationType | String | No | Account creation type |
| department | String | No | Department name |
| emailAddress | String | Yes | IAM account email address |
| englishName | String | No | English name |
| id | String | Yes | IAM account UUID |
| idProviderId | String | No | Certification Authority ID (if using external authentication) |
| idProviderType | String | No | service: IAM direct sign-in SSO: Customer SSO integration |
| idProviderUserId | String | No | User ID provided by an external certification authority |
| lastAccessedAt | Date | No | The account's last access date, returning null if not present |
| lastLoggedInAt | Date | No | The account's last login date, returning null if not found |
| lastLoggedInIp | String | No | The account's last login IP address, returning null if not present |
| maskingEmail | String | No | Masked email addresses for IAM accounts |
| mobilePhone | String | No | IAM account's mobile phone number |
| mobilePhoneCountryCode | String | No | Country code for mobile phone numbers |
| name | String | Yes | Name of the IAM account |
| nativeName | String | No | Native language name |
| nickname | String | No | User nickname |
| officeHoursBegin | String | No | Work start time example: 09:00 |
| officeHoursEnd | String | No | Work end time example: 18:00 |
| organizationId | String | Yes | Organization ID for the IAM account |
| passwordChangedAt | Date | No | When the account's last password was changed, returning null if none |
| position | String | No | Position |
| profileImageUrl | String | No | Profile image URL |
| roles | List |
No | List of related roles (with condition attributes) |
| saasRoles | List |
No | IAM account roles |
| String | String | No | Account's status |
| telephone | String | No | IAM account's phone number |
| userCode | String | Yes | IAM account ID |
| Name | Type | Required | Description |
|---|---|---|---|
| productId | String | No | |
| productName | String | No | |
| String | String | No |
GET "/v1/iam/organizations/{org-id}/members"
API to get a list of IAM members that belong to this organization.
Organization.Member.Iam.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Query | String | No | IAM member's email address | |
| Query | emailLike | String | No | |
| Query | idProviderType | String | No | service: IAM direct sign-in SSO: Customer SSO integration |
| Query | nameLike | String | No | |
| Query | statuses | List |
No | |
| Query | userCode | String | No | IAM member ID |
| Query | userCodeLike | String | No | |
| Query | limit | Integer | No | Number of displays per page, default 20 |
| Query | page | Integer | No | Target Page, default 1 |
{
"orgMembers": [ {
"country": "country",
"englishName": "englishName",
"nativeName": "nativeName",
"passwordChangedAt": "2000-01-23T04:56:07.000+00:00",
"lastLoggedInAt": "2000-01-23T04:56:07.000+00:00",
"officeHoursEnd": "officeHoursEnd",
"userCode": "userCode",
"organizationId": "organizationId",
"createdAt": "2000-01-23T04:56:07.000+00:00",
"emailAddress": "emailAddress",
"lastLoggedInIp": "lastLoggedInIp",
"nickname": "nickname",
"idProviderId": "idProviderId",
"mobilePhoneCountryCode": "mobilePhoneCountryCode",
"id": "id",
"department": "department",
"profileImageUrl": "profileImageUrl",
"lastAccessedAt": "2000-01-23T04:56:07.000+00:00",
"maskingEmail": "maskingEmail",
"telephone": "telephone",
"creationType": "creationType",
"idProviderType": "idProviderType",
"officeHoursBegin": "officeHoursBegin",
"mobilePhone": "mobilePhone",
"corporate": "corporate",
"idProviderUserId": "idProviderUserId",
"name": "name",
"position": "position",
"status": "status"
} ],
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| orgMembers | List |
No | Organization IAM member list |
| paging | PagingResponse | No |
| Name | Type | Required | Description |
|---|---|---|---|
| id | String | No | IAM account UUID |
| userCode | String | Yes | IAM account ID to use for sign-in |
| name | String | Yes | Username of the IAM account |
| emailAddress | String | Yes | IAM account's email address Used to receive notifications or to change your password. |
| maskingEmail | String | No | Masked email addresses for IAM accounts |
| mobilePhone | String | No | IAM account's mobile phone number |
| telephone | String | No | IAM account's phone number |
| position | String | No | Position |
| department | String | No | Department name |
| corporate | String | No | Company name |
| profileImageUrl | String | No | Profile image URL |
| englishName | String | No | English name |
| nativeName | String | No | Native language name |
| nickname | String | No | User nickname |
| officeHoursBegin | String | No | Work start time example: 09:00 |
| officeHoursEnd | String | No | Work end time example: 18:00 |
| String | String | Yes | Member status can be changed
|
| creationType | String | No | Date and time of creation |
| idProviderId | String | No | Certification Authority ID (if using external authentication) |
| idProviderType | String | No | service: IAM direct sign-in (default) SSO: Customer SSO integration (cannot be set up if not integrated) |
| idProviderUserId | String | No | User ID provided by an external certification authority |
| createdAt | Date | No | Date and time of creation |
| lastAccessedAt | Date | No | Date of last access |
| lastLoggedInAt | Date | No | Date of last login |
| lastLoggedInIp | String | No | Last logged in IP |
| passwordChangedAt | Date | No | When to change your password |
| mobilePhoneCountryCode | String | No | Country code for mobile phone numbers |
| organizationId | String | No | Organization ID of the IAM account |
| country | String | No | Nationality (nationality of the organization owner) |
POST "/v1/iam/organizations/{org-id}/members"
API to add IAM members to your organization.
Organization.Member.Iam.Create
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
| Request Body | request | AddIamOrgMemberRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| member | AddIamOrgMemberProtocol | Yes |
| Name | Type | Required | Description |
|---|---|---|---|
| userCode | String | Yes | The IAM account ID to use for signing in |
| name | String | Yes | Username of the IAM account |
| emailAddress | String | Yes | Email address of the IAM account Used to receive notifications or password change. |
| mobilePhone | String | No | IAM account's mobile phone number |
| telephone | String | No | IAM account's phone number |
| position | String | No | Position |
| department | String | No | Department name |
| corporate | String | No | Company name |
| profileImageUrl | String | No | Profile image URL |
| englishName | String | No | English name |
| nativeName | String | No | Native language name |
| nickname | String | No | User nickname |
| officeHoursBegin | String | No | Work start time example: 09:00 |
| officeHoursEnd | String | No | Work end time example: 18:00 |
| String | String | Yes | Member status can be changed
|
| creationType | String | No | SSO, invited, and registered |
| mobilePhoneCountryCode | String | No | Country code for mobile phone numbers, required when entering a mobile phone number |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"uuid": "uuid"
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| UUID | String | No | IAM member UUID |
POST "/v1/iam/organizations/{org-id}/members/{member-id}/send-password-setup-mail"
API to send an email to an IAM member to change their password.
Organization.Member.Iam.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Target organization ID |
| Path | member-id | String | Yes | UUID of the IAM member whose password you want to change |
| Request Body | request | SendPasswordSetupMailRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| locale | String | Yes | User's locale information Example: en |
| returnUrl | String | Yes | The address of the page you'll be directed to after you change your password via email change notification. You must enter the toast.com, dooray.com, or nhncloud.com domain in the Go To address information |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
PUT "/v1/iam/organizations/{org-id}/members/{member-uuid}"
API to modify your organization's IAM member information.
Organization.Member.Iam.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Target organization ID |
| Path | member-uuid | String | Yes | UUID of the IAM member you want to change |
| Request Body | request | UpdateIamMemberRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| member | UpdateIamOrgMemberProtocol | Yes |
| Name | Type | Required | Description |
|---|---|---|---|
| userCode | String | Yes | IAM account ID to use for signing in |
| name | String | Yes | Username of the IAM account |
| emailAddress | String | Yes | Email address of the IAM account Used to receive notifications or password change. |
| mobilePhone | String | No | IAM account's mobile phone number |
| telephone | String | No | IAM account's phone number |
| position | String | No | Position |
| department | String | No | Department name |
| corporate | String | No | Company name |
| profileImageUrl | String | No | Profile image URL |
| englishName | String | No | English name |
| nativeName | String | No | Native language name |
| nickname | String | No | User nickname |
| officeHoursBegin | String | No | Work start time example: 09:00 |
| officeHoursEnd | String | No | Work end time example: 18:00 |
| String | String | Yes | Member status can be changed
|
| creationType | String | No | SSO, invited, and registered |
| idProviderUserId | String | No | User ID provided by an external certification authority |
| mobilePhoneCountryCode | String | No | Country code for mobile phone numbers, required when entering a mobile phone number |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
POST "/v1/iam/organizations/{org-id}/members/{member-id}/set-password"
API to change the password of an organization IAM member.
Organization.Member.Iam.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Target organization ID |
| Path | member-id | String | Yes | UUID of the IAM member whose password you want to change |
| Request Body | request | UpdateIamPasswordRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| password | String | Yes | Password to set |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
GET "/v1/organizations/{org-id}/products/ip-acl"
API to get IP ACL settings.
Organization.Governance.IpAcl.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"orgIpAcl": [ {
"productId": "productId",
"ips": [ "ips" ]
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| orgIpAcl | List |
Yes | If the result is an empty list, the setting is not set. |
| Name | Type | Required | Description |
|---|---|---|---|
| ips | List |
Yes | Allowed IPs |
| productId | String | Yes | Service ID If undefined, set to Common Settings |
GET "/v1/iam/organizations/{org-id}/settings/session"
API to get login session settings information.
Organization.Setting.Iam.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": ""
},
"result": {
"content": {
"multiSessionsLimit": 1,
"sessionTimeoutMinutes": 10,
"mobileSessionTimeoutMinutes": 10,
"sessionType": "fixed"
}
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| result | Content | Yes | Setup contents |
| Name | Type | Required | Description |
|---|---|---|---|
| multiSessionsLimit | Integer | Yes | Number of multisessions allowed |
| sessionTimeoutMinutes | Integer | Yes | Session timeouts |
| mobileSessionTimeoutMinutes | Integer | Yes | Mobile session timeout |
| sessionType | String | Yes | fixed/idle. The default is fixed |
GET "/v1/iam/organizations/{org-id}/settings/security-mfa"
API to get settings for login two-factor authentication.
Organization.Setting.Iam.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": ""
},
"result": {
"range": "organization",
"organizationMfaSetting": {
"type": "email",
"bypassByIp": {
"enable": true
"ipList": [
"1.1.1.1",
"1.1.1.1/24"
]
}
},
"serviceMfaSettings": [{
"serviceId": "{toast-service-id}",
"type": "totp",
"bypassByIp": {
"enable": true
"ipList": [
"1.1.1.1",
"1.1.1.1/24"
]
}
}]
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| result | Result | No | Response content If never set, null is returned |
| Name | Type | Required | Description |
|---|---|---|---|
| range | Integer | No | Organization/Service status organization (common settings), services (service-specific settings) |
| organizationMfaSetting | OrganizationMfaSetting | No | About organizational MFA settings Common Settings |
| serviceMfaSettings | ServiceMfaSettings | No | About service-specific MFA settings |
| Name | Type | Required | Description |
|---|---|---|---|
| String | String | No | MFA type none (no setting), totp (Google OTP), email (email) |
| bypassByIp | BypassByIp | No | Exception IP |
| Name | Type | Required | Description |
|---|---|---|---|
| serviceId | Sting | No | Service ID |
| String | String | No | MFA type none (no setting), totp (Google OTP), email (email) |
| bypassByIp | BypassByIp | No | Service type. none, totp, email |
| Name | Type | Required | Description |
|---|---|---|---|
| String | Boolean | No | Activated or not true (enabled), false (disabled) |
| ipList | List |
No | List of exception IPs |
GET "/v1/iam/organizations/{org-id}/settings/security-login-fail"
API to get login failure security settings.
Organization.Setting.Iam.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": ""
},
"result": {
"enable": false,
"loginFailCount": {
"limit": "5",
"blockMinutes": "2"
}
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| result | Result | No | Returned only if login failure security is set, otherwise null is returned |
| Name | Type | Required | Description |
|---|---|---|---|
| String | Boolean | Yes | Activated or not true (enabled), false (disabled) |
| loginFailCount | LoginFailCount | No | Setting up login failure security |
| Name | Type | Required | Description |
|---|---|---|---|
| limit | Integer | No | Number of attempts allowed |
| blockMinutes | Integer | No | Login ban time |
GET "/v1/iam/organizations/{org-id}/settings/password-rule"
API to get settings for password policies.
Organization.Setting.Iam.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": ""
},
"result": {
"content": {
"schemaVersion": 1,
"value": {
"ruleType": "default",
"passwordConstraints": {
"minLength": 8,
"mustNotIncludeIllegalSequence": true,
"mustIncludeUpperCase": true,
"mustIncludeLowerCase": true,
"mustIncludeNumberCase": true,
"mustIncludeSpecialCase": true
},
"passwordExpiry": {
"enabled": true,
"expiryDays": 90,
"allowExpend": true
},
"limitPasswordReuse": {
"enabled": true,
"limitCount": 1
},
"applyRule": "onChangePassword"
}
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| result | Content | Yes | Setup contents |
| Name | Type | Required | Description |
|---|---|---|---|
| schemaVersion | Integer | Yes | Schema version |
| value | Value | Yes | Password policy |
| Name | Type | Required | Description |
|---|---|---|---|
| ruleType | String | Yes | Password policy default (default password policy), custom (user password policy) |
| passwordConstraints | PasswordConstraints | Yes | Password strength |
| passwordExpiry | PasswordExpiry | Yes | Password expiration |
| limitPasswordReuse | LimitPasswordReuse | Yes | Limit password reuse |
| applyRule | String | Yes | When to enforce password policies onChangePassword (applies when password changes), onLogin (applies immediately) |
| Name | Type | Required | Description |
|---|---|---|---|
| minLength | integer | Yes | Password minimum length |
| mustNotIncludeIllegalSequence | boolean | Yes | At least one alphanumeric character true (set), false (not set) |
| mustIncludeUpperCase | boolean | Yes | At least one uppercase letter true (set), false (not set) |
| mustIncludeLowerCase | boolean | Yes | At least one lowercase letter true (set), false (not set) |
| mustIncludeNumberCase | boolean | Yes | At least one number true (set), false (not set) |
| mustIncludeSpecialCase | boolean | Yes | One or more special characters true (set), false (not set) |
| Name | Type | Required | Description |
|---|---|---|---|
| String | Boolean | Yes | Enabled or not true (set), false (not set) |
| expiryDays | Integer | Yes | Expiration period |
| allowExpend | Boolean | Yes | Extendable on expiration true (possible), false (impossible) |
| Name | Type | Required | Description |
|---|---|---|---|
| String | Boolean | Yes | Enabled or not true (set), false (not set) |
| limitCount | Integer | Yes | Number of reuse limits |
POST "/v1/billing/contracts/basic/products/prices/search"
API to get the unit price set on a counter. For each language, you can get the impression name and type for calculating the amount.
Available to all members. No specific permissions required.
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Query | limit | Integer | No | |
| Request Body | request | GetContractProductPriceRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| counterNames | List |
No | List of counter names in the service meta Full search box if not found |
| paging | Paging | No |
| Name | Type | Required | Description |
|---|---|---|---|
| limit | Integer | No | Number of displays per page, default 20 |
| page | Integer | No | Target Page, default 1 |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 6,
"page": 1,
"totalCount": 5
},
"prices": [ {
"contractDiscountPolicyId": "jxzEL2C09G20oDX3",
"originalPrice": 0.8008281904610115,
"monthFrom": "monthFrom",
"displayNameJa": "displayNameJa",
"rangeFrom": 1.4658129805029452,
"monthTo": "monthTo",
"counterName": "counterName",
"slidingCalculationTypeCode": "NONE",
"rangeTo": 5.962133916683182,
"displayNameZh": "displayNameZh",
"price": 6.027456183070403,
"contractId": "3YVRwIVU",
"displayNameEn": "displayNameEn",
"displayNameKo": "displayNameKo",
"seq": 5,
"useFixPriceYn": "N"
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | Return paging results with no sorting criteria |
| prices | List |
Yes | Returns unit price information from counters as an array Not included on error |
| Name | Type | Required | Description |
|---|---|---|---|
| limit | Integer | Yes | Limit the number of views Default value is 1. |
| page | Integer | Yes | |
| totalCount | Integer | Yes |
| Name | Type | Required | Description |
|---|---|---|---|
| contractDiscountPolicyId | String | Yes | Commitment Rate Policy ID |
| contractId | String | Yes | Commitment ID |
| counterName | String | Yes | Counters |
| displayNameEn | String | No | English name of the counter |
| displayNameJa | String | No | Japanese name of the counter |
| displayNameKo | String | Yes | Korean name of the counter |
| displayNameZh | String | No | Chinese name of the counter Currently exposed in English |
| monthFrom | String | Yes | The start month for which unit price information is valid (inclusive) |
| monthTo | String | Yes | Ending month for which unit price information is valid (not included) |
| originalPrice | BigDecimal | Yes | Unit price |
| price | BigDecimal | Yes | Unit price |
| rangeFrom | BigDecimal | Yes | Start of usage range that falls under unit price (not included) |
| rangeTo | BigDecimal | Yes | Ending usage ranges that fall under unit pricing (inclusive) |
| seq | Long | Yes | Serial number |
| slidingCalculationTypeCode | String | Yes | Types of sliding fee calculations NONE, SECTION_SUM, SECTION_SELECTED |
| useFixPriceYn | String | Yes | Fixed amount or not (Y: Fixed amount , N: Unit price calculation) Y: price becomes an amount if it falls in the range N: (Usage x Unit Price) becomes an amount |
GET "/v1/billing/contracts/basic/products"
API that provides a list of the main categories and subcategories exposed in the bill, and the counters they contain.
Available to all members. No specific permissions required.
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Query | limit | Integer | No | Limit the number of views Default value is 1. |
| Query | page | Integer | No |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 6,
"page": 1,
"totalCount": 5
},
"products": [ {
"productId": "KGDeiKUq",
"unitName": "hours",
"regionTypeCode": "regionTypeCode",
"calcUnitCode": "HOURS",
"displayOrder": 0,
"minUsage": 2.3021358869347655,
"description": "description",
"productUiId": "CQvbgjJw",
"categorySub": "eNWZ3jZq2FsMSHaQ",
"convertUsageTypeCode": "NONE",
"marketPlaceMandatoryUsePeriod": 5,
"counterName": "c2.small",
"meterUnitCode": "HOURS",
"counterTypeCode": "DELTA",
"unit": 1,
"categoryMain": "eNWZ3jZq2FsMSHaQ",
"parentCounterName": "parentCounterName",
"budgetUsageTypeYn": "Y",
"chargingTypeId": "API CALLS",
"productMetadataStatusCode": "STABLE",
"usageAggregationUnitCode": "RESOURCE_ID"
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | |
| products | List |
Yes | Service meta information list |
| Name | Type | Required | Description |
|---|---|---|---|
| budgetUsageTypeYn | String | No | Budget Usage Type Yn Y, N |
| calcUnitCode | String | Yes | Units to use when calculating amounts (converts metering units to settlement units to calculate amounts), units to expose on statements KB, MB, GB, TB, SECONDS, MINUTE, HOURS, DAYS, MB_HOURS, GB_SECONDS, GB_HOURS, GB_DAYS, CORE_SECONDS, CORE_HOURS, CORE_DAYS, USERS, MAU, MAD, DAU, CALLS, COUNTS, CCU, VCPU_HOURS, COUNT_HOURS |
| categoryMain | String | Yes | Main Categories |
| categorySub | String | Yes | Subcategories |
| chargingTypeId | String | Yes | Billing type ID |
| convertUsageTypeCode | String | Yes | Usage conversion type codes NONE, HOUR_AVERAGE, DAY_AVERAGE |
| counterName | String | Yes | Counters |
| counterTypeCode | String | Yes | Methods for summing usage
|
| description | String | No | Counter descriptions |
| displayOrder | Integer | Yes | Exposure order |
| marketPlaceMandatoryUsePeriod | Integer | No | Marketplace mandatory usage period |
| meterUnitCode | String | Yes | Usage units when storing metering in a service BYTES, KB, MB, GB, TB, CORE, HOURS, MINUTE, USERS, MAU, MAD, DAU, CALLS, COUNTS, CCU, SECONDS |
| minUsage | BigDecimal | Yes | Minimum usage |
| parentCounterName | String | Yes | Parent counter name |
| productId | String | Yes | Service ID |
| productMetadataStatusCode | String | Yes | Counter status codes STABLE, CLOSED |
| productUiId | String | Yes | Homepage Category/Homepage Service Identification ID |
| regionTypeCode | String | Yes | The region code the countername belongs to
|
| unit | Long | Yes | Settlement units |
| unitName | String | Yes | Name to appear on the invoice |
| usageAggregationUnitCode | String | No | Usage aggregation units RESOURCE_ID, COUNTER_NAME |
GET "/v1/authentications/projects/{project-id}/project-appkeys"
API to get a list of project integrated AppKeys being used by the project.
Project.ProjectAppKey.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to look up |
{
"authenticationList": [ {
"appKey": "appKey",
"authStatus": "STABLE",
"modDatetime": "2000-01-23T04:56:07.000+00:00",
"authId": "authId",
"projectId": "projectId",
"lastUsedDatetime": "2000-01-23T04:56:07.000+00:00",
"reIssueDatetime": "2000-01-23T04:56:07.000+00:00",
"regDatetime": "2000-01-23T04:56:07.000+00:00"
} ],
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| authenticationList | List |
No | Project integrated AppKey List |
| Name | Type | Required | Description |
|---|---|---|---|
| authId | String | No | Internally managed authentication method ID |
| appKey | String | No | Project integrated AppKey exposed to the console |
| authStatus | String | No | Authentication status codes (STABLE, STOP, BLOCKED) |
| projectId | String | No | Project ID |
| lastUsedDatetime | Date | No | Date of last use |
| modDatetime | Date | No | Date and time of deletion |
| reIssueDatetime | Date | No | Regeneration time |
| regDatetime | Date | No | Date and time of creation |
GET "/v1/authentications/user-access-keys"
API to get a list of a member's User Access Key IDs.
Available to all members. No specific permissions required.
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"authentications": [ {
"userAccessKeyID": "userAccessKeyID",
"secretAccessKey": "secretAccessKey",
"authStatus": "STABLE",
"modDatetime": "2000-01-23T04:56:07.000+00:00",
"authId": "authId",
"uuid": "uuid",
"tokenExpiryPeriod": 0,
"lastUsedDatetime": "2000-01-23T04:56:07.000+00:00",
"reIssueDatetime": "2000-01-23T04:56:07.000+00:00",
"regDatetime": "2000-01-23T04:56:07.000+00:00",
"lastTokenUsedDatetime": "2025-02-11T01:30:56.771Z",
"validTokenCount": 0
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| authentications | List |
No | List credentials |
| Name | Type | Required | Description |
|---|---|---|---|
| authId | String | No | Internally managed authentication method ID |
| userAccessKeyID | String | No | User Access Key ID |
| secretAccessKey | String | No | Secret key (masked) |
| authStatus | String | No | Authentication status codes (STABLE, STOP, BLOCKED) |
| UUID | String | No | User UUID |
| lastUsedDatetime | Date | No | Date of last use you authenticated with User Access Key ID |
| modDatetime | Date | No | Date and time of deletion |
| reIssueDatetime | Date | No | Regeneration time |
| regDatetime | Date | No | Date and time of creation |
| tokenExpiryPeriod | Long | No | Token expiration cycle (in seconds) |
| tokenFormatCode | String | No | Token format code (OPAQUE, JWT) |
| lastTokenUsedDatetime | Long | No | Last time you authenticated/authorized with a token |
| validTokenCount | Long | No | Number of valid tokens |
POST "/v1/authentications/projects/{project-id}/project-appkeys"
API to generate an AppKey for use in your project.
Project.ProjectAppKey.Create
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | The project ID where you want to register the AppKey |
| Request Body | request | AddProjectAppKeyRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| appkeyAlias | String | Yes | Project integrated AppKey aliases 100-character limit |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"authentication": {
"appKey": "appKey",
"authId": "authId"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| authentication | ResponseProtocol | No |
| Name | Type | Required | Description |
|---|---|---|---|
| authId | String | No | Internally managed authentication method ID |
| appKey | String | No | Project integrated AppKey |
POST "/v1/authentications/user-access-keys"
API to register a member's User Access Key ID.
Available to all members. No specific permissions required.
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Request Body | PostUserAppKeyRequest | PostUserAppKeyRequest | Yes |
| Name | Type | Required | Description |
|---|---|---|---|
| tokenFormatCode | String | No | Token format code Supports OPAQUE and JWT formats. Currently, JWT format tokens are available only in the EasyQueue service. Default value is OPAQUE |
| tokenExpiryPeriod | Long | No | Token expiry period Specified in seconds. For OPAQUE format tokens, the default is one day; for JWT tokens, the default is one hour. OPAQUE format tokens can be issued with a validity period of at least one minute and up to one day. JWT format tokens can be issued with a validity period of at least one minute and up to one hour. |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"authentication": {
"userAccessKeyID": "userAccessKeyID",
"secretAccessKey": "secretAccessKey",
"authId": "authId",
"tokenExpiryPeriod": 0,
"tokenFormatCode": "OPAQUE"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| authentication | ResponseProtocol | No |
| Name | Type | Required | Description |
|---|---|---|---|
| authId | String | No | Internally managed authentication method ID |
| userAccessKeyID | String | No | User Access Key ID |
| secretAccessKey | String | No | Secret key |
| tokenExpiryPeriod | Long | No | Token expiration period (in seconds) |
| tokenFormatCode | String | No | Token format code (OPAQUE, JWT) |
DELETE "/v1/authentications/projects/{project-id}/project-appkeys/{app-key}"
API to delete a project AppKey.
Project.ProjectAppKey.Delete
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Target project ID |
| Path | app-key | String | Yes | Project integrated AppKey to delete |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
PUT "/v1/authentications/user-access-keys/{user-access-key-id}/secretkey-reissue"
API to reissue the secret key for a User Access Key ID.
Can only reissue the secret key for the user's own User Access Key ID
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | user-access-key-id | String | Yes | User Access Key ID |
| Request Body | request | ReissueSecretKeyRequest | Yes | Request |
| Name | Type | Required | Description | |
|------------ |---------|----|---------------------------------------------------|
| needExpireTokens | Boolean | No | Issued token expired or not(true: Expired, false: Not expired)
Default false |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"authentication": {
"secretAccessKey": "secretAccessKey"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| authentication | ResponseProtocol | No |
| Name | Type | Required | Description |
|---|---|---|---|
| secretAccessKey | String | Yes | Secret key |
PUT "/v1/authentications/user-access-keys/{user-access-key-id}"
API to change the state of a member's User Access Key ID.
If you deactivate the User Access Key ID for OPAQUE tokens, the OPAQUE tokens also expire. However, deactivating the User Access Key ID for JWT tokens does not expire the JWT tokens.
Can only modify the user's own User Access Key ID
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | user-access-key-id | String | Yes | User Acess Key ID |
| Request Body | request | UpdateUserAccessKeyStatusRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| String | String | Yes | State to change (STOP: Stop, STABLE: Enable) |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
DELETE "/v1/authentications/user-access-keys/{user-access-key-id}"
API to delete a User Access Key ID.
Can only delete the user's own User Access Key ID
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | user-access-key-id | String | Yes | User Access Key ID |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
GET "/v1/authentications/user-access-keys/{user-access-key-id}/tokens"
API to get a list of OPAQUE tokens issued with a User Access Key ID.
Only tokens issued with your own User Access Key ID can be viewed
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | user-access-key-id | String | Yes | User Access Key ID |
| Query | token | String | No | Token body Partial search not supported |
| Query | String | String | No | Token status ACTIVE: Active, EXPIRED: Expired |
| Query | lastAccessDatetimeFrom | Date | No | Date of last token use Get tokens used at a time greater than or equal to the specified time Example: 2025-02-11T00:56:50.902Z |
| Query | expireDatetimeFrom | Date | No | Token expiration date Get tokens expired at a time greater than or equal to the specified time Example: 2025-02-11T00:56:50.902Z |
| Query | regDatetimeFrom | Date | No | Token registration date Get tokens created at a time greater than or equal to the specified time Example: 2025-02-11T00:56:50.902Z |
| Query | page | Integer | No | Target page Default 1 |
| Query | limit | Integer | No | Items per page Default 20 |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"tokens": [
{
"accessToken": "string",
"expireDatetime": "2025-02-11T00:56:50.902Z",
"lastAccessDatetime": "2025-02-11T00:56:50.902Z",
"regDatetime": "2025-02-11T00:56:50.902Z",
"status": "ACTIVE",
"tokenId": 0
}
],
"totalItems": 0
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | |
| accessToken | String | Yes | Masked token |
| expireDatetime | Date | No | Token expiration date |
| lastAccessDatetime | Date | Yes | Last time you authenticated/authorized with a token |
| regDatetime | Date | Yes | Token creation date |
| String | String | Yes | Token status |
| tokenId | Long | Yes | Token ID |
DELETE "/v1/authentications/user-access-keys/{user-access-key-id}/tokens"
API to expire multiple OPAQUE tokens issued with a User Access Key ID.
Even if you make a request using the User Access Key ID that issued the JWT tokens, the JWT tokens do not expire.
If both the token ID and token list are empty in the request, all tokens issued to that User Access Key ID will expire.
If you have both a token ID and a list of tokens, only tokens that match both are deleted. Tokens do not expire when a request is made by a user other than the owner of the User Access Key ID in the request.
Only tokens issued with your own User Access Key ID can expire
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | user-access-key-id | String | Yes | User Access Key ID |
| Request Body | tokenIds | List |
No | List of token IDs |
| Request Body | tokens | List |
No | List of tokens |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
POST "/v1/iam/projects/{project-id}/members"
API to add an IAM account as a project member.
Project.Member.Iam.Create
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | The project ID to which you want to add the member |
| Request Body | request | AddIamProjectMemberRequest | Yes | Request |
Caution
Only one project member can be created in a request.
| Name | Type | Required | Description |
|---|---|---|---|
| assignRoles | List |
Yes | List of roles to assign to users |
| memberUuid | String | Yes | UUID of the member to add |
| Name | Type | Required | Description |
|---|---|---|---|
| roleId | String | Yes | Role ID |
| conditions | List |
No | Role condition attribute |
| Name | Type | Required | Description |
|---|---|---|---|
| attributeId | String | Yes | Condition attribute ID |
| attributeOperatorTypeCode | String | Yes | Condition attribute operator Available operators vary depending on the conditional attribute data type
|
| attributeValues | List |
Yes | Condition attribute value |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
DELETE "/v1/iam/projects/{project-id}/members"
API to delete IAM accounts from a project.
Project.Member.Iam.Delete
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Request Body | request | DeleteMembersRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| memberUuids | List |
Yes | List of UUIDs of the target accounts to delete |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
GET "/v1/iam/projects/{project-id}/members/{member-uuid}"
API to get a specific IAM account who is part of a project.
Project.Member.Iam.Get
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to look up members |
| Path | member-uuid | String | Yes | Member UUID to look up |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"projectMember": {
"uuid": "uuid",
"id": "id",
"emailAddress": "emailAddress",
"maskingEmail": "maskingEmail",
"name": "memberName",
"relationDateTime": "2000-01-23T04:56:07.000+00:00",
"roles": [ {
"regDateTime": "2000-01-23T04:56:07.000+00:00",
"roleApplyPolicyCode": "ALLOW",
"roleId": "roleId",
"roleName": "roleName",
"categoryKey": "categoryKey",
"description": "description",
"categoryTypeCode": "ORG_ROLE_GROUP",
"conditions": [ {
"attributeId": "attributeId",
"attributeOperatorTypeCode": "ALLOW",
"attributeValues": [ "attributeValues", "attributeValues" ],
"attributeDescription": "attributeDescription",
"attributeName": "attributeName",
"attributeDataTypeCode": "BOOLEAN"
} ]
} ]
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| projectMember | ProjectIamMemberRoleBundleProtocol | Yes | Added member information, not included on error |
| Name | Type | Required | Description |
|---|---|---|---|
| UUID | String | Yes | Member UUID |
| id | String | Yes | ID |
| name | String | No | Name |
| emailAddress | String | No | Member email address |
| maskingEmail | String | No | Member's masked email |
| mobilePhone | String | No | Phone number |
| relationDateTime | Date | No | Time to add members |
| joinYmdt | Date | No | Date to joined |
| recentLoginYmdt | Date | No | Date of last login |
| recentPasswordModifyYmdt | Date | No | Date of last password change |
| roles | List |
No | List of related roles (with condition attributes) |
GET "/v1/iam/projects/{project-id}/members"
API to get a list of IAM accounts who are part of a project.
Project.Member.Iam.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID to look up |
| Query | limit | Integer | No | Number of displays per page, default 20 |
| Query | page | Integer | No | Target Page, default 1 |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
},
"projectMembers": [ {
"uuid": "uuid",
"id": "id",
"emailAddress": "emailAddress",
"maskingEmail": "maskingEmail",
"memberName": "memberName",
"relationDateTime": "2000-01-23T04:56:07.000+00:00"
} ]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | |
| projectMembers | List |
Yes | Project member list |
| Name | Type | Required | Description |
|---|---|---|---|
| UUID | String | Yes | Member UUID |
| id | String | Yes | ID |
| name | String | No | Name |
| emailAddress | String | No | Member email address |
| maskingEmail | String | No | Member's masked email |
| mobilePhone | String | No | Phone number |
| relationDateTime | Date | No | Time to add members |
| joinYmdt | Date | No | Date to joined |
| recentLoginYmdt | Date | No | Date of last login |
| recentPasswordModifyYmdt | Date | No | Date of last password change |
PUT "/v1/iam/projects/{project-id}/members/{member-uuid}"
API to change the role of a specified IAM account in a project.
Project.Member.Iam.Update
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | project-id | String | Yes | Project ID |
| Path | member-uuid | String | Yes | Member UUID to change role to |
| Request Body | request | UpdateMemberRoleRequest | Yes | Request |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes |
GET "/v1/authentications/organizations/{org-id}/user-access-keys"
API to get the credentials of members in the organization or project.
Organization.UserAccessKey.List
| In | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID to look up the UserAccessKey for |
| Query | paging | Paging | No | Number of displays per page, default 20 |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"authenticationList": [
{
"authId": "makedAuthId",
"uuid": "uuid",
"userAccessKeyID": "maskedUserAccessKeyID",
"secretAccessKey": "",
"tokenExpiryPeriod": 86400,
"regDatetime": "2024-05-03T10:27:58.000+00:00",
"modDatetime": "2024-05-03T10:27:58.000+00:00",
"lastUsedDatetime": "2024-08-16T14:09:37.000+00:00",
"reIssueDatetime": "2024-08-29T12:00:45.000+00:00",
"lastTokenUsedDatetime": null,
"validTokenCount": null,
"authStatus": "STABLE"
}
],
"paging": {
"limit": 0,
"page": 6,
"totalCount": 1
},
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| paging | PagingResponse | Yes | |
| authenticationList | List |
Yes | Member-specific authentication key information |
| Name | Type | Required | Description |
|---|---|---|---|
| authId | String | Yes | Authentication Method ID (masked) |
| UUID | String | Yes | User UUID |
| userAccessKeyID | String | Yes | User Access Key ID (masked) |
| secretAccessKey | String | No | Secret key (whitespace) |
| authStatusCode | String | Yes | Authentication status codes (STABLE, STOP, BLOCKED) |
| tokenExpiryPeriod | Long | No | Token expiration cycle |
| regDatetime | Date | No | Date and time of creation |
| modDatetime | Date | No | Date and time of deletion |
| lastUsedDatetime | Date | No | Date of last use |
| reIssueDatetime | Date | No | secretAccessKey regeneration timeout |
| lastTokenUsedDatetime | Date | No | Date of last token use |
| validTokenCount | Long | No | Number of valid tokens |
GET /v1/organizations
Available to all members. No specific permissions required.
[Query Parameter]
| Name | Type | Required | Description |
|---|---|---|---|
| orgName | String | No | Organization name |
| orgNameMatchTypeCode | String | No | Search type for organization name (EXACT: exact match, LIKE: partial match, default: LIKE) |
| page | Integer | No | Target page, default: 1 |
| limit | Integer | No | No. of views per page, default: 20 |
[Response Body]
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"orgList": [
{
"org": {
"orgId": "org-id",
"orgName": "organization-name",
"orgStatusCode": "STABLE",
"ownerUuid": "owner-uuid",
"regDateTime": "2023-01-01T00:00:00+09:00",
"remainingJobCode": "NONE",
"ipAclTypeCode": "COMMON",
"orgDomainList": [
{
"domainId": "domain-id",
"domainName": "domain-name"
}
]
},
"orgMember": {
"existOrgMember": true,
"orgOwner": true
},
"orgOwner": {
"email": "owner@example.com",
"name": "owner-name",
"restrictStatusCode": "STABLE",
"country": "KR",
"restrictTypes": []
}
}
],
"paging": {
"page": 1,
"limit": 20,
"totalCount": 1
}
}
[Response Body Description]
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| orgList | List<OrgMemberRelationProtocol> | Yes | Organization lilst info |
| paging | PagingResponse | Yes | Paging info |
| Name | Type | Required | Description |
|---|---|---|---|
| org | OrgProtocol | Yes | Organization info |
| orgMember | OrgMemberProtocol | Yes | Organization/project member info |
| orgOwner | OwnerProtocol | Yes | Organization Owner info |
| Name | Type | Required | Description |
|---|---|---|---|
| orgId | String | Yes | Organization ID |
| orgName | String | Yes | Organization name |
| orgStatusCode | String | Yes | Organization status code (STABLE, CLOSED) |
| ownerUuid | String | Yes | Organization Owner UUID |
| regDateTime | Date | Yes | Organization created on |
| remainingJobCode | String | Yes | Organization follow-up actions (NONE, IAM_ORG_CREATE, IAM_ORG_UPDATE, IAM_ORG_DELETE) |
| ipAclTypeCode | String | Yes | Type code for organization IP ACL (COMMON, INDIVIDUAL) |
| orgDomainList | List<OrgDomainProtocol> | Yes | Organization domain list |
| Name | Type | Required | Description |
|---|---|---|---|
| existOrgMember | Boolean | Yes | Organization member exists |
| orgOwner | Boolean | Yes | Organization Owner |
| Name | Type | Required | Description |
|---|---|---|---|
| String | Yes | Organization Owner email | |
| name | String | Yes | Organization Owner name |
| restrictStatusCode | String | Yes | Organization Owner restriction status (HOLD, MEMBER_BLOCKED, RESOURCE_BLOCKED, RESOURCE_DELETED, STABLE, UNPAID) |
| country | String | Yes | Organization Owner country code |
| restrictTypes | List<String> | Yes | Organization Owner restriction list |
| Name | Type | Required | Description |
|---|---|---|---|
| domainId | String | Yes | Organization domain ID |
| domainName | String | Yes | Organization domain name |
POST /v1/organizations
An API to add your own organization.
Available to all members. No specific permissions required.
| Category | Name | Type | Required | Description |
|---|---|---|---|---|
| Request Body | request | CreateOrgRequest | Yes | Request |
| Name | Type | Required | Description |
|---|---|---|---|
| orgName | String | Yes | Organization name to create (up to 70 characters) |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"orgId": "org-id",
"orgName": "organization-name",
"owner": {
"email": "owner@example.com",
"name": "owner-name",
"ownerId": "owner-uuid",
"restrictTypes": []
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common response | Yes | |
| orgId | String | Yes | Organization ID |
| orgName | String | Yes | Organization name |
| owner | Owner | Yes | Organization Owner info |
| Name | Type | Required | Description |
|---|---|---|---|
| String | Yes | Organization Owner email | |
| name | String | Yes | Organization Owner name |
| ownerId | String | Yes | Organization Owner ID |
| restrictTypes | List<String> | Yes | List for restriction targets |
DELETE /v1/organizations/{org-id}
An API to delete your own organization.
Organization.Delete
| Category | Name | Type | Required | Description |
|---|---|---|---|---|
| Path | org-id | String | Yes | Organization ID |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | Common Response | Yes |
GET /v1/products
This API retrieves a list of available services.
Available to all members. No specific permissions required.
| Category | Name | Type | Required | Description |
|---|---|---|---|---|
| Query | productId | String | No | Service ID |
| Query | productCategoryCode | String | No | Service Category Code (PROJECT, ORG, MARKET_PLACE) |
| Query | productName | String | No | Service Name |
| Query | productNameLike | String | No | Service Name Like Search |
| Query | limit | Integer | No | Number of items displayed per page, default 20 |
| Query | page | Integer | No | Target page, default 1 |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"paging": {
"limit": 1,
"page": 1,
"totalCount": 1
},
"products": [
{
"parentProductId": "productId",
"productCategoryCode": "PROJECT",
"productId": "productId",
"productName": "productName"
}
]
}
| Name | Type | Required | Description |
|---|---|---|---|
| header | common response | Yes | |
| paging | PagingResponse | Yes | |
| products | List |
Yes | Service Information List |
| Name | Type | Required | Description |
|---|---|---|---|
| parentProductId | String | No | Parent Service ID |
| productCategoryCode | String | Yes | Service Category Code (PROJECT, ORG, MARKET_PLACE) |
| productId | String | Yes | Service ID |
| productName | String | Yes | Service Name |
GET /v1/messages/role
This API retrieves a list of role descriptions in multiple languages.
Available to all members. No specific permissions required.
| Category | Name | Type | Required | Description |
|---|---|---|---|---|
| Query | messageType | String | No | Message Type
|
| Query | languages | List<String> | No | Language
|
| Query | keyword | String | No | Search keyword |
| Query | messageId | String | No | Message ID |
| Query | limit | Integer | Yes | Number of displays per page |
| Query | page | Integer | Yes | Target page |
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "resultMessage"
},
"messages": [
{
"i18nMessageSeq": 0,
"categoryId": "categoryId",
"messageId": "messageId",
"messageType": "MESSAGE",
"description": "description",
"koKr": "한국어 메시지",
"enUs": "English message",
"jaJp": "日本語メッセージ",
"zhCn": "中文消息"
}
],
"paging": {
"limit": 10,
"page": 1,
"totalCount": 100
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| Header | Common Response | Yes | |
| Messages | List |
Yes | Message list |
| Paging | PagingResponse | Yes |
| Name | Type | Required | Description |
|---|---|---|---|
| i18nMessageSeq | Long | No | Message sequence |
| categoryId | String | No | Category ID |
| messageId | String | No | Message ID |
| messageType | String | No | Message type (MESSAGE, ERROR) |
| description | String | No | Description |
| koKr | String | No | Korean message |
| enUs | String | No | English message |
| jaJp | String | No | Japanese message |
| zhCn | String | No | Chinese message |
| Result code | Description | Actions |
|---|---|---|
| 80007 | Errors when calling with an expired or non-existent token | Issue and redeem a new token |
| -6 | Errors that occur when invoked by unauthorized callers | Give callers the right permissions |
| -8 | Errors that occur when IP validation fails by an organization's IP ACL policy | Verify that the IP is registered in your organization's IP ACLs |
| 404 | Fired on API calls without | Check the httpmethod,uri of the API you're calling |
| 400 501 502 503 Server connection failed 505 |
Errors that occur when request parameters are not appropriate | Check request parameters for required and configurable values, etc. |
| 500 | Abnormal system errors | Contact a representative |
| 1000 | Errors that occur when parameters are incorrect Organization IAM member API - IAM member password change email send request value returnUrl is not an authorized domain (authorized domains: toast.com, dooray.com, nhncloud.com) |
Verify request parameters |
| 1201 | Errors caused by failed API requests internal to the server | Resolve based on the error message and code in the error message Contact your representative if the included error message and code are not sufficient for resolution. |
| 10005 70008 1104 |
Errors that occur when request parameters are not appropriate | Check request parameters for required and configurable values, etc. |
| 10009 | Errors when granting roles that don't exist in an organization or project | Change to give members an existing role |
| 10010 | Error when deleting a role group, when project members (including those being invited) are granted only that role group Error when changing project member roles and not granting any roles |
1) Change the roles of project members (including those you're inviting) whose only role groups are the ones you want to delete to other roles, or delete them 2) When changing the project member role, set the value for the role in the request by setting the Request |
| 10012 | Error when deleting a project member, if the member is deleted and the project no longer has a member with the ADMIN role. | 1) Give the ADMIN role to another project member who is not targeted for deletion 2) Delete targets that are not in the ADMIN role |
| 12100 | Errors when project members don't exist | Use existing project member UUIDs |
| 12107 | Error when request uuid and target uuid are the same in APIs that don't allow them to be the same | Make the target UUID different from the request UUID |
| 12400 | Errors when adding members to a non-existent or deleted project | Change to add members to an existing project |
| 12401 | Error when creating a project and exceeding the limit on the number of projects created set in the project's organization OWNER account | 1) Delete unused projects to free up the number of projects you can create 2) Request an adjustment to the maximum number of projects created through your representative |
| 12500 | When deleting a project, an error occurs when a service in use exists | Disable all services in use for the project and then attempt to process the project deletion |
| 13001 | Errors that occur when enabling/disabling a service fails | Contact a representative |
| 13002 | Errors that occur when you reactivate a service that is already active | Leverage services that are already active |
| 13004 | Error when enabling an unenabled service | Enable for activatable services |
| 13006 | Enable Entity-only service, error when Organization OWNER's member type is not Entity | Attempting to activate a service in an organization subproject of an organization OWNER with an entity account type |
| 22006 | Fires if it already exists when added | Prevent duplicate requests from coming in |
| 22013 | Error when attempting to change the organization OWNER's role | You can't change roles for organization owners |
| 22016 | Errors that occur when an organization doesn't exist | Make sure you're requesting with the orgId of an existing organization |
| 23005 | Errors that occur when an organization does not exist for an organization ID | Contact a representative |
| 30015 | Error when exceeding the limit on the number of generated project integrated AppKeys Project integrated AppKey API - The number of project integrated AppKeys generated by Generate Project AppKeyis 3, and an error occurs if more than 3 are generated. |
Delete an unused project integrated AppKey and retry |
| 40017 | Errors that occur when a project doesn't exist | Make an API request for an existing project |
| 40028 13003 |
Errors that occur when a project doesn't exist (created and then deleted) | Make an API request for an existing project |
| 40054 | Error when activating a service, if a service that should be activated first is not activated | Handle activating services that need to be activated first |
| 40057 | When disabling a service, an error occurs if a service that should be disabled first is not disabled | Handle disabling services that should be disabled first |
| 50007 | Invalid members, errors that occur (Members that don't exist, are dormant, or are withdrawn are not valid) Organization creation API - When making API calls, if the uuid is invalid |
Modify with the UUID of a valid member |
| 60003 | Errors that occur when there is no data in the DB Error when there are no integrated AppKeys to delete in Project AppKey API - Delete Project Integrated AppKeys |
1) Contact a representative 2) Set the existing AppKey to the value of the AppKey to be deleted |
| 62004 | Error when creating a role group if a role group with the same name exists | Change to a non-duplicate name |
| 62008 | Role group ID does not exist when editing, deleting, and adding/deleting roles to a role group | Change to use an existing role group ID |
| 62009 | Occurs if the role is an invalid role when creating a role group | Change to use a valid role |
| 62011 | Role group deletion caused by being used by a notification group | Change to delete role groups after deleting notification groups |
| 62014 | When deleting a role group and adding/deleting roles to a role group, members who were assigned to the role group failed to notify the service of the roles. | Contact a representative |
| 62019 | If you want to grant an organization member an unallowed role | Contact a representative |
| 72005 | Errors that occur when billing-related API calls fail | Contact a representative |
| 70013 | Errors that occur when a service you're using exists | Disable a service you're using |
| 70014 | Error when member withdrawal conditions are not met IAM - 1) when a service is in use 2) when a project exists that has not been deleted 3) when the member exists in the ADMIN role on any project |
Set up withdrawal conditions for each member type |
| 70024 | Errors that occur when a payment method is not properly registered | Register a payment method |
| 70032 | Error when becoming a member block due to non-payment | Pay outstanding bills for that account |
| -200201 | Errors that occur when the user-code length condition is not met | Lowercase letters, numbers, and special characters (-, _, .) within 20 characters. Special characters (-, _, .) are not allowed in leading and trailing positions. |
| -200202 | Errors that occur when user-code formatting conditions are not met | Accept lowercase letters, numbers, and special characters (-, _, .). Special characters (-, _, .) are not allowed in leading and trailing positions. |
| -200203 | Errors that occur when the name length condition is not met | Modify the name length to meet the 60-character length requirement |
| -200204 | Error with overlapping user-code when modifying member creation | Change to non-duplicate user-code to request |