IAM Accounts API Docs (1.0.0)

Download OpenAPI specification:

API documentation for IAM Accounts service

Authentication

Exchange access token with client credentials

header Parameters
Authorization
required
string
Example: Basic base64_string

Basic Base64(clientID:clientSecret)

Request Body schema: application/json
required
grantType
required
string

Grant type

Responses

Request samples

Content type
application/json
{
  • "grantType": "client_credentials"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "refreshToken": "string",
  • "expiresIn": 0,
  • "refreshExpiresIn": 0
}

Get User Information

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/auth/userinfo'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "userId": "xxxx",
  • "userType": "iam-user",
  • "accountId": 1234,
  • "rootEmail": "abc@gmail.com",
  • "username": "username",
  • "twoFactorAuth": {
    }
}

Impersonate a service account and obtain a new access token

path Parameters
id
required
string

ID of the service account to impersonate

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/auth/service-accounts/%7Bid%7D/impersonate'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "tokenType": "string",
  • "accessToken": "string",
  • "expiresIn": 0
}

Exchange access token with client credentials

header Parameters
Authorization
required
string
Example: Basic base64_string

Basic Base64(clientID:clientSecret)

Request Body schema: application/json
required
grant_type
required
string

Grant type

Responses

Request samples

Content type
application/json
{
  • "grant_type": "client_credentials"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string",
  • "expires_in": 0,
  • "refresh_expires_in": 0
}

User Account

List User Accounts

query Parameters
pageSize
required
integer

Number of items per page

pageNumber
required
integer

Page index (starting from 0)

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users',
  qs: {pageSize: 'SOME_INTEGER_VALUE', pageNumber: 'SOME_INTEGER_VALUE'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pageSize": 10,
  • "pageNumber": 0,
  • "totalItems": 1,
  • "totalPages": 1
}

Create User Account

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
username
string
password
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Get User Account by ID

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Delete User Account

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Activate User Account

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/activate'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Deactivate User Account

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/deactivate'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Reset Password for a User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
password
string

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Reset Password for Current User

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
password
string

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Set Up Email Authentication for a User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
email
string <email>

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Set Up Email Authentication for current user

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
email
string <email>

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Send Verifcation email to verify updated email authentication

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/send-verification-email'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Send Verifcation email to verify updated email authentication

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/send-verification-email'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Verify Email Authentication for User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
token
string^\d{6}$

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Verify Email Authentication for Current User

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
token
string^\d{6}$

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Activate Email Authentication For a User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/activate-email'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Activate Email Authentication For Current User

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/activate-email'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Deactivate Email Authentication For a User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/deactivate-email'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Deactivate Email Authentication For Current User

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/deactivate-email'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Set Up Google Authenticator for a User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/set-up-google'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Set Up Google Authenticator for Current User

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/set-up-google'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Verify Google Authenticator for Current User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
token
string^\d{6}$

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Activate Google Authentication For a User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/activate-google'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Activate Google Authentication For Current User

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/activate-google'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Deactivate Google Authentication For a User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/deactivate-google'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Deactivate Google Authentication For Current User

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/deactivate-google'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

List Tags of IAM User

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/iam-users/%7Bid%7D/tags'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Create tags for IAM user

path Parameters
id
required
string
header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
required
Array of objects non-empty

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ]
}

Delete tags of IAM user

path Parameters
id
required
string

IAM user ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
keys
required
Array of strings non-empty

Responses

Request samples

Content type
application/json
{
  • "keys": [
    ]
}

Identity Provider

List Identity Providers by Account ID

query Parameters
pageSize
required
integer

Number of items per page

pageNumber
required
integer

Page index (starting from 0)

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/identity-providers',
  qs: {pageSize: 'SOME_INTEGER_VALUE', pageNumber: 'SOME_INTEGER_VALUE'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pageSize": 10,
  • "pageNumber": 0,
  • "totalItems": 1,
  • "totalPages": 1
}

Create Identity Provider

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
name
required
string

Unique name of the Identity Provider

type
required
string

Type of the Identity Provider (e.g., "saml")

vendor
required
string

Vendor of the Identity Provider (e.g., "azure", "okta")

ssoUrl
required
string

Single Sign-On (SSO) URL of the Identity Provider

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Get Identity Provider by ID

path Parameters
id
required
string

ID of the Identity Provider

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/identity-providers/%7Bid%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "9be7951f-b750-4968-afe5-fc5ba8a8e535",
  • "name": "idpxxx",
  • "accountId": 1234,
  • "provider": "saml",
  • "vendor": "azure",
  • "createdAt": "2025-06-12T06:46:09.311Z",
  • "enabled": true,
  • "redirectUri": "https://redirect...",
  • "loginUrl": "https://loginurl...",
  • "permissionMappers": [ ]
}

Delete Identity Provider

path Parameters
id
required
string
Example: 9be7951f-b750-4968-afe5-fc5ba8a8e535

Identity Provider ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/identity-providers/9be7951f-b750-4968-afe5-fc5ba8a8e535'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Update Identity Provider

path Parameters
id
required
string
Example: 9be7951f-b750-4968-afe5-fc5ba8a8e535

Identity Provider ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
name
required
string

New name of the Identity Provider

Responses

Request samples

Content type
application/json
{
  • "name": "new-idp-name"
}

Create a new Permission Mapper for an Identity Provider

path Parameters
idpId
required
string
Example: 9be7951f-b750-4968-afe5-fc5ba8a8e535

ID of the Identity Provider

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
name
required
string

Name of the permission mapper

claimName
required
string

The claim field to check in the identity provider's token

claimValues
required
Array of strings

List of claim values that will map to specific groups

groups
required
Array of strings

List of IAM groups assigned

Responses

Request samples

Content type
application/json
{
  • "name": "role-mapper-admin",
  • "claimName": "groups",
  • "claimValues": [
    ],
  • "groups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "4f67a8f1-3b90-4a31-8cbe-f11b63d8f9a2"
}

List Permission Mappers of an Identity Provider

path Parameters
idpId
required
string
Example: 9be7951f-b750-4968-afe5-fc5ba8a8e535

ID of the Identity Provider

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/identity-providers/9be7951f-b750-4968-afe5-fc5ba8a8e535/permission-mappers'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get details of a Permission Mapper

path Parameters
idpId
required
string
Example: 9be7951f-b750-4968-afe5-fc5ba8a8e535

ID of the Identity Provider

mapperId
required
string
Example: 4f67a8f1-3b90-4a31-8cbe-f11b63d8f9a2

ID of the Permission Mapper

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/identity-providers/9be7951f-b750-4968-afe5-fc5ba8a8e535/permission-mappers/4f67a8f1-3b90-4a31-8cbe-f11b63d8f9a2'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "4f67a8f1-3b90-4a31-8cbe-f11b63d8f9a2",
  • "name": "role-mapper-admin",
  • "claimName": "groups",
  • "claimValues": [
    ],
  • "groups": [
    ],
  • "updatedAt": "2025-10-24T08:10:00.000Z",
  • "createdAt": "2025-10-20T09:22:36.511Z"
}

Delete a Permission Mapper

path Parameters
idpId
required
string
Example: 9be7951f-b750-4968-afe5-fc5ba8a8e535

ID of the Identity Provider

mapperId
required
string
Example: 4f67a8f1-3b90-4a31-8cbe-f11b63d8f9a2

ID of the Permission Mapper to delete

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/identity-providers/9be7951f-b750-4968-afe5-fc5ba8a8e535/permission-mappers/4f67a8f1-3b90-4a31-8cbe-f11b63d8f9a2'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Update a Permission Mapper

path Parameters
idpId
required
string
Example: 9be7951f-b750-4968-afe5-fc5ba8a8e535

ID of the Identity Provider

mapperId
required
string
Example: 4f67a8f1-3b90-4a31-8cbe-f11b63d8f9a2

ID of the Permission Mapper to update

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
claimValues
Array of strings

List of claim values for the mapper

Responses

Request samples

Content type
application/json
{
  • "claimValues": [
    ]
}

S3 Keys

Search and list S3 Keys

query Parameters
searchByNameOrAccessKey
string
Example: searchByNameOrAccessKey=prod-access

Optional search keyword for name or accessKey (supports partial match)

pageSize
required
integer >= 1
Example: pageSize=10

Number of items per page

pageNumber
required
integer >= 0

Page index (0-based)

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/s3-keys',
  qs: {
    searchByNameOrAccessKey: 'prod-access',
    pageSize: 'SOME_INTEGER_VALUE',
    pageNumber: 'SOME_INTEGER_VALUE'
  }
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pageSize": 10,
  • "pageNumber": 0,
  • "totalItems": 1,
  • "totalPages": 1
}

Create a new S3 Key

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
name
string

Optional custom name for the S3 key

regionId
required
string

Region ID where the S3 key will be created

projectId
required
string

Project ID that owns the S3 key

Responses

Request samples

Content type
application/json
{
  • "name": "my-s3-key",
  • "regionId": "ap-southeast-1",
  • "projectId": "project-1234"
}

Response samples

Content type
application/json
{
  • "id": "1b9d6bcd-bbfd-4b2d-9b21-3d3fbeefb123",
  • "name": "my-s3-key",
  • "accessKey": "AKIAIOSFODNN7EXAMPLE",
  • "secretKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
}

Get S3 Key details by ID

path Parameters
id
required
string
Example: xxxx

ID of the S3 Key

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {method: 'GET', url: 'https://iamapis.vngcloud.vn/accounts-api/v1/s3-keys/xxxx'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "xxxx",
  • "name": "name",
  • "accessKey": "AKIAIOSFODNN7EXAMPLE",
  • "root": 1234,
  • "projectId": "projectId",
  • "regionId": "regionId",
  • "restricted": false,
  • "status": "ACTIVE",
  • "createdAt": "2025-09-08T06:10:48.637Z",
  • "updatedAt": "2025-09-08T06:10:48.637Z"
}

Update S3 Key information

path Parameters
id
required
string
Example: 1b9d6bcd-bbfd-4b2d-9b21-3d3fbeefb123

ID of the S3 Key to update

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
name
string or null

New name for the S3 Key

restricted
boolean or null

Whether the S3 key is restricted

Responses

Request samples

Content type
application/json
{
  • "name": "updated-s3-key",
  • "restricted": true
}

Delete an S3 Key

path Parameters
id
required
string
Example: 3d5e7c2a-6c44-4bb5-90f4-2d5f7d62f1e0

ID of the S3 Key to delete

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/s3-keys/%7Bid%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Swift Users

Search Swift Users

query Parameters
searchByUsername
string
Example: searchByUsername=382da21

Filter users by username (supports partial match)

pageSize
required
integer
Example: pageSize=10

Number of items per page

pageNumber
required
integer

Page index (starting from 0)

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/swift-users',
  qs: {
    searchByUsername: 'SOME_STRING_VALUE',
    pageSize: 'SOME_INTEGER_VALUE',
    pageNumber: 'SOME_INTEGER_VALUE'
  }
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pageSize": 10,
  • "pageNumber": 0,
  • "totalItems": 1,
  • "totalPages": 1
}

Create a new Swift User

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
regionId
required
string

Region ID where the Swift User will be created

projectId
required
string

Project ID associated with the Swift User

Responses

Request samples

Content type
application/json
{
  • "regionId": "8b1e9c9b-7123-54a5-ua8f-2d67d71c9212",
  • "projectId": "18da7f582c8e4b6484eb6afd24ddc637"
}

Response samples

Content type
application/json
{
  • "id": "8525d70059a345909583a5c6dbfd91f2",
  • "username": "96d89e7",
  • "password": "bU8!ZrKc0P"
}

Get Swift User Details

path Parameters
id
required
string
Example: 8525d70059a345909583a5c6dbfd91f2

Swift User ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/swift-users/8525d70059a345909583a5c6dbfd91f2'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "8525d70059a345909583a5c6dbfd91f2",
  • "username": "96d89e7",
  • "root": 1234,
  • "projectId": "18da7f582c8e4b6484eb6afd24ddc637",
  • "regionId": "8b1e9c9b-7123-54a5-ua8f-2d67d71c9212",
  • "restricted": false,
  • "status": "ACTIVE",
  • "createdAt": "2024-04-23T02:04:19.114Z",
  • "updatedAt": "2024-04-23T02:04:19.114Z"
}

Update a Swift User

Update specific fields of an existing Swift User (currently supports updating the "restricted" flag).

path Parameters
id
required
string
Example: 8525d70059a345909583a5c6dbfd91f2

ID of the Swift User to update

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
restricted
boolean or null

Whether the Swift User has restricted access

Responses

Request samples

Content type
application/json
{
  • "restricted": false
}

Delete a Swift User

Permanently delete a Swift User by ID.

path Parameters
id
required
string
Example: 8525d70059a345909583a5c6dbfd91f2

ID of the Swift User to delete

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/swift-users/%7Bid%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Service Accounts

Create a new service account

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
name
required
string

Service account name

description
string or null

Optional description of the service account

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

List service accounts

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Get details of a service account by ID

path Parameters
id
required
string

Service account ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "string",
  • "clientId": "string",
  • "name": "string",
  • "description": "string",
  • "accessTokenLifeSpan": 0,
  • "createdAt": 0,
  • "enabled": true,
  • "lastUse": 0
}

Delete a service account by ID

path Parameters
id
required
string

Service account ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Update a service account

path Parameters
id
required
string

Service account ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
description
string

Description of the service account

accessTokenLifeSpan
integer

Access token lifespan in seconds

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "accessTokenLifeSpan": 3600
}

Activate a service account

path Parameters
id
required
string

Service account ID to activate

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/activate'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Deactivate a service account

path Parameters
id
required
string

Service account ID to deactivate

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/deactivate'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Get trusted root users of a service account

path Parameters
id
required
string

Service account ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/trusted-roots'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Create a trusted root relationship for a service account

path Parameters
id
required
string

Service account ID

rootPortalId
required
string

Root User Portal ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/trusted-roots/%7BrootPortalId%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Delete a trusted root relationship for a service account

path Parameters
id
required
string

Service account ID

rootPortalId
required
string

Root User Portal ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/trusted-roots/%7BrootPortalId%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Reset client secret for a service account

path Parameters
id
required
string

Service account ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/reset-secret'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "clientSecret": "string"
}

Attach an S3 key to a service account

path Parameters
id
required
string

Service account ID

keyId
required
string

S3 key ID to attach to the service account

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/s3-keys/%7BkeyId%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Detach an S3 key from a service account

path Parameters
id
required
string

Service account ID

keyId
required
string

S3 key ID to detach from the service account

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/s3-keys/%7BkeyId%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Attach a Swift user to a service account

path Parameters
id
required
string

Service account ID

swiftId
required
string

Swift user ID to attach to the service account

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/swift-users/%7BswiftId%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Detach a Swift user from a service account

path Parameters
id
required
string

Service account ID

swiftId
required
string

Swift user ID to detach from the service account

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/swift-users/%7BswiftId%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

List or search S3 keys of a service account

path Parameters
id
required
string

Service account ID

query Parameters
searchByNameOrAccessKey
string

Search by name or access key (optional)

pageSize
required
integer

Number of items per page

pageNumber
required
integer

Page index (starting from 0)

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/s3-keys',
  qs: {
    searchByNameOrAccessKey: 'SOME_STRING_VALUE',
    pageSize: 'SOME_INTEGER_VALUE',
    pageNumber: 'SOME_INTEGER_VALUE'
  }
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pageSize": 0,
  • "pageNumber": 0,
  • "totalItems": 0,
  • "totalPages": 0
}

List or search Swift users of a service account

path Parameters
id
required
string

Service account ID

query Parameters
searchByUsername
string

Search Swift users by username (optional)

pageSize
required
integer

Number of items per page

pageNumber
required
integer

Page index (starting from 0)

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/swift-users',
  qs: {
    searchByUsername: 'SOME_STRING_VALUE',
    pageSize: 'SOME_INTEGER_VALUE',
    pageNumber: 'SOME_INTEGER_VALUE'
  }
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pageSize": 0,
  • "pageNumber": 0,
  • "totalItems": 0,
  • "totalPages": 0
}

List tags of a service account

path Parameters
id
required
string

Service account ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://iamapis.vngcloud.vn/accounts-api/v1/service-accounts/%7Bid%7D/tags'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "tags": [
    ]
}

Add or update tags for a service account

path Parameters
id
required
string

Service account ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ]
}

Delete specific tags of a service account

path Parameters
id
required
string

Service account ID

header Parameters
Authorization
required
string
Example: Bearer iam_token

Bearer token

Request Body schema: application/json
required
keys
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "keys": [
    ]
}