Identity and Access Management version v1
cloud.kaaiot.com/iam/api/v1
Users
Operations on users.
Registers a new user.
Retrieves users.
post /users
Registers a new user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- firstName: (string)
User first name.
- lastName: (string)
User last name.
- email: required(string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- username: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Username.
- password: required(string)
User password.
- confirmPassword: required(string)
Confirmation of user password.
- enabled: (boolean)
Whether the user is enabled or not. Default is
false. - path: (string - pattern: ^/\S*$)
User path that will be used in IRN.
- poolIDs: (array of string)
Pool IDs the user will be attached to.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
Example:
{
"firstName": "Tom",
"lastName": "Jasper",
"email": "tom@example.com",
"enabled": true,
"username": "tom",
"password": "YesYkYKpLd6n3dVZ",
"confirmPassword": "YesYkYKpLd6n3dVZ",
"path": "/org1",
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
HTTP status code 201
The user is successfully registered.
Body
Media type: application/json
Type: object
Properties- id: required(string)
User ID.
- created: required(datetime)
User creation date.
- updated: required(datetime)
User update date.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
User IRN.
- tenantID: required(string)
Tenant ID that user belongs to.
- authID: required(string)
User issuer ID.
- email: (string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- enabled: required(boolean)
Whether the user is enabled or not.
- firstName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Firstname.
- lastName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Lastname.
- username: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Username.
- path: required(string - pattern: ^/\S*$)
User path that is used in IRN.
- metadata: (object)
User metadata.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t",
"created": "2021-10-18T08:47:54.219531Z",
"updated": "2021-10-18T08:47:54.219531Z",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"tenantID": "4atcicnisg",
"authID": "68a8372d-cc0a-4a42-8a56-099ac466e0bd",
"email": "tom@example.com",
"enabled": true,
"firstName": "Tom",
"lastName": "Jasper",
"username": "tom",
"path": "/org1",
"metadata": {
"language": "uk",
"age": 23
},
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /users
Retrieves users.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- email: (string)
User email. Supports partial match.
Example:
tom@example.com - path: (string)
User path. Supports wildcards
*, e.g.,/org*query param will match/org,/org1,/org/sub-org.Example:
/org1 - firstName: (string)
User first name. Supports partial match.
Example:
Tom - lastName: (string)
User last name. Supports partial match.
Example:
Jasper - username: (string)
Username. Supports partial match.
Example:
tom - tenantID: (string)
User tenant ID. Supports partial match.
Example:
4atcicnisg - search: (string)
Filter users by partial match on email, username, first name, or last name.
Example:
Tom Jasper - irn: (string)
User IRN. Supports partial match.
Example:
irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Users are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of user-api-types.UserResponse)
Items: UserResponse
- id: required(string)
User ID.
- created: required(datetime)
User creation date.
- updated: required(datetime)
User update date.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
User IRN.
- tenantID: required(string)
Tenant ID that user belongs to.
- authID: required(string)
User issuer ID.
- email: (string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- enabled: required(boolean)
Whether the user is enabled or not.
- firstName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Firstname.
- lastName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Lastname.
- username: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Username.
- path: required(string - pattern: ^/\S*$)
User path that is used in IRN.
- metadata: (object)
User metadata.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of users.
- page: required(integer)
Page number.
- pageSize: required(integer)
Total returned elements.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t",
"created": "2021-10-18T08:47:54.219531Z",
"updated": "2021-10-18T08:47:54.219531Z",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"tenantID": "4atcicnisg",
"authID": "68a8372d-cc0a-4a42-8a56-099ac466e0bd",
"email": "tom@example.com",
"enabled": true,
"firstName": "Tom",
"lastName": "Jasper",
"username": "tom",
"path": "/org1",
"metadata": {
"language": "uk",
"age": 23
},
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves unique user paths.
get /users/paths
Retrieves unique user paths.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
HTTP status code 200
User paths are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of string)
Example:
{
"data": [
"/org1",
"/org2"
]
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Deletes users in bulk.
post /users/delete
Deletes users in bulk.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- userIDs: required(array of string)
Example:
{
"userIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t"
]
}
HTTP status code 204
Users successfully deleted.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves currently authenticated user's information.
Updates currently authenticated user's information.
Deletes currently authenticated user.
get /users/me
Retrieves currently authenticated user's information.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
HTTP status code 200
The user is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- id: required(string)
User ID.
- created: required(datetime)
User creation date.
- updated: required(datetime)
User update date.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
User IRN.
- tenantID: required(string)
Tenant ID that user belongs to.
- authID: required(string)
User issuer ID.
- email: (string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- enabled: required(boolean)
Whether the user is enabled or not.
- firstName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Firstname.
- lastName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Lastname.
- username: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Username.
- path: required(string - pattern: ^/\S*$)
User path that is used in IRN.
- metadata: (object)
User metadata.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t",
"created": "2021-10-18T08:47:54.219531Z",
"updated": "2021-10-18T08:47:54.219531Z",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"tenantID": "4atcicnisg",
"authID": "68a8372d-cc0a-4a42-8a56-099ac466e0bd",
"email": "tom@example.com",
"enabled": true,
"firstName": "Tom",
"lastName": "Jasper",
"username": "tom",
"path": "/org1",
"metadata": {
"language": "uk",
"age": 23
},
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
patch /users/me
Updates currently authenticated user's information.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- email: (string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- firstName: (string)
User first name.
- lastName: (string)
User last name.
- enabled: (boolean)
Whether the user is enabled or not.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"firstName": "MorganUpdated",
"lastName": "JosephUpdated",
"email": "josephm@gmail.com",
"enabled": true,
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
The user is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
delete /users/me
Deletes currently authenticated user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
HTTP status code 204
The user is successfully deleted.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Updates currently authenticated user metadata.
put /users/me/metadata
Updates currently authenticated user metadata.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: any
Example:
{
"language": "uk",
"timezone": "Europe/Kyiv"
}
HTTP status code 204
Metadata is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves currently authenticated user's IRN.
get /users/me/irn
Retrieves currently authenticated user's IRN.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
HTTP status code 200
Currently authenticated user's IRN is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(string)
Example:
{
"data": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom"
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Changes the currently authenticated user's password.
post /users/me/password/change
Changes the currently authenticated user's password.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- oldPassword: required(string)
User old password.
- newPassword: required(string)
User new password.
- confirmPassword: required(string)
User new password confirmation.
Example:
{
"oldPassword": "YesYkYKpLd6n3dVZ",
"newPassword": "KPJ9KP33afQqG7ke",
"confirmPassword": "KPJ9KP33afQqG7ke"
}HTTP status code 204
The user's password is successfully changed.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Resets the currently authenticated user's password.
post /users/me/password/reset
Resets the currently authenticated user's password.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- newPassword: required(string)
User new password.
- confirmPassword: required(string)
User new password confirmation.
Example:
{
"newPassword": "hh8VkeHymc3j8NYJ",
"confirmPassword": "hh8VkeHymc3j8NYJ"
}HTTP status code 204
The user's password is successfully reset.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves the currently authenticated user's membership groups.
get /users/me/groups
Retrieves the currently authenticated user's membership groups.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Membership groups are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of group-api-types.GroupResponse)
Items: GroupResponse
- id: required(string)
Group ID.
- tenantID: required(string)
Tenant ID of the group.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Group name.
- displayName: required(string)
Group display name.
- path: required(string - pattern: ^/\S*$)
Group path.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Group IRN.
- metadata: (object)
Group metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
- created: required(datetime)
Group creation date.
- updated: required(datetime)
Group update date.
- id: required(string)
- count: required(integer)
Total number of groups.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/java",
"tenantID": "4atcicnisg",
"displayName": "Java",
"name": "java",
"path": "/dev",
"metadata": {
"location": "Kyiv"
},
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
],
"created": "2021-10-18T11:08:09.4919Z",
"updated": "2021-10-18T11:08:09.4919Z"
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Adds currently authenticated user to the group.
post /users/me/groups/{groupID}/add
Adds currently authenticated user to the group.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
HTTP status code 204
User successfully added to the group.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Removes currently authenticated from the group.
post /users/me/groups/{groupID}/remove
Removes currently authenticated from the group.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
HTTP status code 204
User successfully removed from the group.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Adds currently authenticated user to the groups.
post /users/me/groups/add
Adds currently authenticated user to the groups.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- groupIDs: required(string)
Group IDs.
Example:
{
"groupIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ=="
]
}
HTTP status code 200
User is successfully added to groups.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Removes currently authenticated user from groups.
post /users/me/groups/remove
Removes currently authenticated user from groups.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- groupIDs: required(string)
Group IDs.
Example:
{
"groupIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ=="
]
}
HTTP status code 204
User is successfully removed from groups.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves identity policies that are attached to the currently authenticated user.
get /users/me/policies
Retrieves identity policies that are attached to the currently authenticated user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc - source: (one of direct, group)
Filters policies by the attachment source.
direct- policies attached directly to the user.group- policies attached to the group(s) the user is a member of. If the query param is omitted, policies from all sources are returned.Example:
direct
HTTP status code 200
Identity policies attached to the currently authenticated user are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves identity policies that are eligible to be attached to the currently authenticated user.
get /users/me/policies/eligible
Retrieves identity policies that are eligible to be attached to the currently authenticated user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Identity policies that are eligible to be attached to the currently authenticated user are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Attaches the currently authenticated user to the policies.
put /users/me/policies/attach
Attaches the currently authenticated user to the policies.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
The user is successfully attached to the policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Detaches the currently authenticated user from policies.
post /users/me/policies/detach
Detaches the currently authenticated user from policies.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
The user is successfully detached from the policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves currently authenticated user's resource policy.
Updates currently authenticated user's resource policy.
get /users/me/policy
Retrieves currently authenticated user's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
HTTP status code 200
Currently authenticated user's resource policy is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
Policy.
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(resource)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.ResourcePolicyStatement)
Policy statements.
Items: ResourcePolicyStatement
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0N2c1bDJpamMwOjp1c2VyL2plcnJ5",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"name": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"description": "Individual resource policy",
"type": "resource",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow Jerry everything on Tom user",
"actions": ["*"],
"principals": ["irn:rc73dbh7q0:iamcore:47g5l2ijc0::user/jerry"],
"effect": "allow"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /users/me/policy
Updates currently authenticated user's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- description: required(string)
Policy description.
- statements: required(array of iam-api-types.ResourcePolicyUpdateStatement)
List of statements.
Items: ResourcePolicyUpdateStatement
- description: (string)
Description.
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- effect: required(one of allow, deny)
Effect.
- description: (string)
Example:
{
"description": "New policy description",
"statements": [
{
"description": "Allow Jerry everything on the resource",
"actions": ["*"],
"principals": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
Resource policy is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves a specific user.
Updates a specific user.
Deletes a specific user.
get /users/{userID}
Retrieves a specific user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
HTTP status code 200
The user is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- id: required(string)
User ID.
- created: required(datetime)
User creation date.
- updated: required(datetime)
User update date.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
User IRN.
- tenantID: required(string)
Tenant ID that user belongs to.
- authID: required(string)
User issuer ID.
- email: (string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- enabled: required(boolean)
Whether the user is enabled or not.
- firstName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Firstname.
- lastName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Lastname.
- username: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Username.
- path: required(string - pattern: ^/\S*$)
User path that is used in IRN.
- metadata: (object)
User metadata.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t",
"created": "2021-10-18T08:47:54.219531Z",
"updated": "2021-10-18T08:47:54.219531Z",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"tenantID": "4atcicnisg",
"authID": "68a8372d-cc0a-4a42-8a56-099ac466e0bd",
"email": "tom@example.com",
"enabled": true,
"firstName": "Tom",
"lastName": "Jasper",
"username": "tom",
"path": "/org1",
"metadata": {
"language": "uk",
"age": 23
},
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
patch /users/{userID}
Updates a specific user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: object
Properties- email: (string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- firstName: (string)
User first name.
- lastName: (string)
User last name.
- enabled: (boolean)
Whether the user is enabled or not.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"firstName": "MorganUpdated",
"lastName": "JosephUpdated",
"email": "josephm@gmail.com",
"enabled": true,
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
The user is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
delete /users/{userID}
Deletes a specific user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
HTTP status code 204
The user is successfully deleted.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Updates metadata.
put /users/{userID}/metadata
Updates metadata.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: any
Example:
{
"language": "uk",
"timezone": "Europe/Kyiv"
}
HTTP status code 204
Metadata is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Changes the user's password.
post /users/{userID}/password/change
Changes the user's password.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: object
Properties- oldPassword: required(string)
User old password.
- newPassword: required(string)
User new password.
- confirmPassword: required(string)
User new password confirmation.
Example:
{
"oldPassword": "YesYkYKpLd6n3dVZ",
"newPassword": "KPJ9KP33afQqG7ke",
"confirmPassword": "KPJ9KP33afQqG7ke"
}HTTP status code 204
The user's password is successfully changed.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Resets the user's password.
post /users/{userID}/password/reset
Resets the user's password.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: object
Properties- newPassword: required(string)
User new password.
- confirmPassword: required(string)
User new password confirmation.
Example:
{
"newPassword": "hh8VkeHymc3j8NYJ",
"confirmPassword": "hh8VkeHymc3j8NYJ"
}HTTP status code 204
User password is successfully reset.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Send an email to the user with a link they can click to initiate the password recovery process.
put /users/{userID}/password/forgot
Send an email to the user with a link they can click to initiate the password recovery process.
Gets membership groups.
get /users/{userID}/groups
Gets membership groups.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Query Parameters
- page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
User's membership groups are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of group-api-types.GroupResponse)
Items: GroupResponse
- id: required(string)
Group ID.
- tenantID: required(string)
Tenant ID of the group.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Group name.
- displayName: required(string)
Group display name.
- path: required(string - pattern: ^/\S*$)
Group path.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Group IRN.
- metadata: (object)
Group metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
- created: required(datetime)
Group creation date.
- updated: required(datetime)
Group update date.
- id: required(string)
- count: required(integer)
Total number of groups.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/java",
"tenantID": "4atcicnisg",
"displayName": "Java",
"name": "java",
"path": "/dev",
"metadata": {
"location": "Kyiv"
},
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
],
"created": "2021-10-18T11:08:09.4919Z",
"updated": "2021-10-18T11:08:09.4919Z"
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Adds the user to groups.
post /users/{userID}/groups/add
Adds the user to groups.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: object
Properties- groupIDs: required(string)
Group IDs.
Example:
{
"groupIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ=="
]
}
HTTP status code 200
User is successfully added to groups.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Removes the user from groups.
post /users/{userID}/groups/remove
Removes the user from groups.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: object
Properties- groupIDs: required(string)
Group IDs.
Example:
{
"groupIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ=="
]
}
HTTP status code 204
User is successfully removed from groups.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves identity policies attached to the user.
get /users/{userID}/policies
Retrieves identity policies attached to the user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc - source: (one of direct, group)
Filters policies by the attachment source.
direct- policies attached directly to the user.group- policies attached to the group(s) the user is a member of. If the query param is omitted, policies from all sources are returned.Example:
direct
HTTP status code 200
Identity policies attached to the user are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves identity policies that are eligible to be attached to the user.
get /users/{userID}/policies/eligible
Retrieves identity policies that are eligible to be attached to the user.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Identity policies that are eligible to be attached to the user are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Attaches user to policies.
put /users/{userID}/policies/attach
Attaches user to policies.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
The user is successfully attached to the policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Detaches user from policies.
post /users/{userID}/policies/detach
Detaches user from policies.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
The user is successfully detached from the policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves user's resource policy.
Updates user's resource policy.
get /users/{userID}/policy
Retrieves user's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
HTTP status code 200
User's resource policy is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
Policy.
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(resource)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.ResourcePolicyStatement)
Policy statements.
Items: ResourcePolicyStatement
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0N2c1bDJpamMwOjp1c2VyL2plcnJ5",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"name": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"description": "Individual resource policy",
"type": "resource",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow Jerry everything on Tom user",
"actions": ["*"],
"principals": ["irn:rc73dbh7q0:iamcore:47g5l2ijc0::user/jerry"],
"effect": "allow"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /users/{userID}/policy
Updates user's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- userID: required(string)
User ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t
Body
Media type: application/json
Type: object
Properties- description: required(string)
Policy description.
- statements: required(array of iam-api-types.ResourcePolicyUpdateStatement)
List of statements.
Items: ResourcePolicyUpdateStatement
- description: (string)
Description.
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- effect: required(one of allow, deny)
Effect.
- description: (string)
Example:
{
"description": "New policy description",
"statements": [
{
"description": "Allow Jerry everything on the resource",
"actions": ["*"],
"principals": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
Resource policy is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Groups
Operations on groups.
Creates a new group.
Returns group list.
post /groups
Creates a new group.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Group name.
- displayName: (string)
Group display name.
- parentID: (string)
Parent group ID.
- tenantID: (string)
Tenant ID to create the group in.
- poolIDs: (array of string)
Pool IDs the user will be attached to.
Example:
{
"name": "java",
"displayName": "Java",
"parentID": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXY=",
"tenantID": "4atcicnisg",
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
HTTP status code 201
Group is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/groups/{groupID}Example:
https://cloud.iamcore.io/api/v1/groups/aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Body
Media type: application/json
Type: object
Properties- id: required(string)
Group ID.
- tenantID: required(string)
Tenant ID of the group.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Group name.
- displayName: required(string)
Group display name.
- path: required(string - pattern: ^/\S*$)
Group path.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Group IRN.
- metadata: (object)
Group metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
- created: required(datetime)
Group creation date.
- updated: required(datetime)
Group update date.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/java",
"tenantID": "4atcicnisg",
"displayName": "Java",
"name": "java",
"path": "/dev",
"metadata": {
"location": "Kyiv"
},
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="],
"created": "2021-10-18T11:08:09.4919Z",
"updated": "2021-10-18T11:08:09.4919Z"
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /groups
Returns group list.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - path: (string)
Group path. Supports wildcards
*, e.g.,/org*query param will match/org,/org1,/org/sub-org.Example:
/dev - displayName: (string)
Group display name. Supports partial match.
Example:
Java - irn: (string)
Group IRN. Supports partial match.
Example:
irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/java - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Groups are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of group-api-types.GroupResponse)
Items: GroupResponse
- id: required(string)
Group ID.
- tenantID: required(string)
Tenant ID of the group.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Group name.
- displayName: required(string)
Group display name.
- path: required(string - pattern: ^/\S*$)
Group path.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Group IRN.
- metadata: (object)
Group metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
- created: required(datetime)
Group creation date.
- updated: required(datetime)
Group update date.
- id: required(string)
- count: required(integer)
Total number of groups.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/java",
"tenantID": "4atcicnisg",
"displayName": "Java",
"name": "java",
"path": "/dev",
"metadata": {
"location": "Kyiv"
},
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
],
"created": "2021-10-18T11:08:09.4919Z",
"updated": "2021-10-18T11:08:09.4919Z"
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Deletes groups in bulk.
post /groups/delete
Deletes groups in bulk.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- groupIDs: required(array of string)
Example:
{
"groupIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ=="
]
}
HTTP status code 204
Groups are successfully deleted.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Returns group information.
Update group display name.
Deletes a single group.
get /groups/{groupID}
Returns group information.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
HTTP status code 200
Group successfully retrieved.
Body
Media type: application/json
Type: object
Properties- id: required(string)
Group ID.
- tenantID: required(string)
Tenant ID of the group.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Group name.
- displayName: required(string)
Group display name.
- path: required(string - pattern: ^/\S*$)
Group path.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Group IRN.
- metadata: (object)
Group metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
- created: required(datetime)
Group creation date.
- updated: required(datetime)
Group update date.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/java",
"tenantID": "4atcicnisg",
"displayName": "Java",
"name": "java",
"path": "/dev",
"metadata": {
"location": "Kyiv"
},
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="],
"created": "2021-10-18T11:08:09.4919Z",
"updated": "2021-10-18T11:08:09.4919Z"
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /groups/{groupID}
Update group display name.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Body
Media type: application/json
Type: object
Properties- displayName: required(string)
Display name.
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"displayName": "updated org1",
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
Group display name successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
delete /groups/{groupID}
Deletes a single group.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
HTTP status code 204
Group is successfully deleted.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Updates group metadata.
put /groups/{groupID}/metadata
Updates group metadata.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Body
Media type: application/json
Type: any
Example:
{
"language": "uk",
"timezone": "Europe/Kyiv"
}
HTTP status code 204
Metadata is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Returns group members.
get /groups/{groupID}/members
Returns group members.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Query Parameters
- page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Members are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of user-api-types.UserResponse)
Items: UserResponse
- id: required(string)
User ID.
- created: required(datetime)
User creation date.
- updated: required(datetime)
User update date.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
User IRN.
- tenantID: required(string)
Tenant ID that user belongs to.
- authID: required(string)
User issuer ID.
- email: (string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- enabled: required(boolean)
Whether the user is enabled or not.
- firstName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Firstname.
- lastName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Lastname.
- username: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Username.
- path: required(string - pattern: ^/\S*$)
User path that is used in IRN.
- metadata: (object)
User metadata.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of users.
- page: required(integer)
Page number.
- pageSize: required(integer)
Total returned elements.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t",
"created": "2021-10-18T08:47:54.219531Z",
"updated": "2021-10-18T08:47:54.219531Z",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"tenantID": "4atcicnisg",
"authID": "68a8372d-cc0a-4a42-8a56-099ac466e0bd",
"email": "tom@example.com",
"enabled": true,
"firstName": "Tom",
"lastName": "Jasper",
"username": "tom",
"path": "/org1",
"metadata": {
"language": "uk",
"age": 23
},
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Returns eligible group members.
get /groups/{groupID}/members/eligible
Returns eligible group members.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Query Parameters
- page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Eligible group members are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of user-api-types.UserResponse)
Items: UserResponse
- id: required(string)
User ID.
- created: required(datetime)
User creation date.
- updated: required(datetime)
User update date.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
User IRN.
- tenantID: required(string)
Tenant ID that user belongs to.
- authID: required(string)
User issuer ID.
- email: (string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
User email.
- enabled: required(boolean)
Whether the user is enabled or not.
- firstName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Firstname.
- lastName: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Lastname.
- username: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Username.
- path: required(string - pattern: ^/\S*$)
User path that is used in IRN.
- metadata: (object)
User metadata.
- requiredActions: (array of string)
Require an action when the user logs in.
- `VERIFY_EMAIL` - sends an email to the user to verify their email address
- `UPDATE_PASSWORD` - requires user to enter in a new password
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of users.
- page: required(integer)
Page number.
- pageSize: required(integer)
Total returned elements.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL29yZzEvdG9t",
"created": "2021-10-18T08:47:54.219531Z",
"updated": "2021-10-18T08:47:54.219531Z",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::user/org1/tom",
"tenantID": "4atcicnisg",
"authID": "68a8372d-cc0a-4a42-8a56-099ac466e0bd",
"email": "tom@example.com",
"enabled": true,
"firstName": "Tom",
"lastName": "Jasper",
"username": "tom",
"path": "/org1",
"metadata": {
"language": "uk",
"age": 23
},
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Adds users to a group.
post /groups/{groupID}/members/add
Adds users to a group.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Body
Media type: application/json
Type: object
Properties- userIDs: required(array of string)
User IDs to be added to the group.
Example:
{
"userIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL2pvc2VwaG1vcmdhbg=="
]
}
HTTP status code 204
Users are successfully added.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Removes users from a group.
post /groups/{groupID}/members/remove
Removes users from a group.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Body
Media type: application/json
Type: object
Properties- userIDs: required(array of string)
User IDs to be removed from the group.
Example:
{
"userIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL2pvc2VwaG1vcmdhbg=="
]
}
HTTP status code 204
Users are successfully removed.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves identity policies that the group is attached to.
get /groups/{groupID}/policies
Retrieves identity policies that the group is attached to.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Identity policies that the group is attached to are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves identity policies that the group is eligible to be attached to.
get /groups/{groupID}/policies/eligible
Retrieves identity policies that the group is eligible to be attached to.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Identity policies that the group is eligible to be attached to are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Attaches policies to a group.
put /groups/{groupID}/policies/attach
Attaches policies to a group.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
Group is successfully attached to policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Detaches policies from a group.
post /groups/{groupID}/policies/detach
Detaches policies from a group.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
Group is successfully detached from policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves group's resource policy.
Updates group's resource policy.
get /groups/{groupID}/policy
Retrieves group's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
HTTP status code 200
Group's resource policy is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
Policy.
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(resource)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.ResourcePolicyStatement)
Policy statements.
Items: ResourcePolicyStatement
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXY=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev",
"name": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev",
"description": "Individual resource policy",
"type": "resource",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow Tom everything on dev group",
"actions": [
"*"
],
"principals": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/tom"
],
"effect": "allow"
}
]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /groups/{groupID}/policy
Updates group's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- groupID: required(string)
Group ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==
Body
Media type: application/json
Type: object
Properties- description: required(string)
Policy description.
- statements: required(array of iam-api-types.ResourcePolicyUpdateStatement)
List of statements.
Items: ResourcePolicyUpdateStatement
- description: (string)
Description.
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- effect: required(one of allow, deny)
Effect.
- description: (string)
Example:
{
"description": "New policy description",
"statements": [
{
"description": "Allow Jerry everything on the resource",
"actions": ["*"],
"principals": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
Resource policy is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Resources
Operations on resources.
Creates a resource.
Returns resources.
post /resources
Creates a resource.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Resource name.
- displayName: (string)
Resource display name.
- application: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Application of the resource.
- tenantID: (string)
Tenant ID of the resource.
- path: required(string - pattern: ^/\S*$)
Resource path.
- resourceType: required(string)
Resource type.
- enabled: (boolean - default: true)
Whether the resource is enabled or not.
- description: (string)
Resource description.
- metadata: (object)
Resource metadata.
- poolIDs: (array of string)
Pool IDs the resource will be attached to.
Example:
{
"name": "7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"displayName": "Thermostat",
"tenantID": "4atcicnisg",
"application": "myapp",
"path": "/dev",
"resourceType": "device",
"enabled": true,
"description": "Resource description",
"metadata": {
"temperature": 10,
"city": "Kyiv"
},
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
HTTP status code 201
Resource is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/resources/{resourceID}Example:
https://cloud.iamcore.io/api/v1/resources/aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=
Body
Media type: application/json
Type: object
Properties- id: required(string)
Resource ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Resource IRN.
- application: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Application of the resource.
- tenantID: required(string)
Tenant ID of the resource.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Resource name.
- displayName: (string)
Resource display name.
- path: required(string - pattern: ^/\S*$)
Resource path.
- resourceType: required(string)
Resource type.
- created: required(datetime)
Resource creation date.
- updated: required(datetime)
Resource update date.
- enabled: required(boolean)
Whether the resource is enabled or not.
- description: (string)
Resource description.
- metadata: (object)
Resource metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=",
"irn": "irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"created": "2022-10-25T22:22:17.390631+03:00",
"updated": "2022-10-25T22:22:17.390631+03:00",
"tenantID": "4atcicnisg",
"application": "myapp",
"name": "7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"displayName": "Thermostat",
"path": "/dev",
"resourceType": "device",
"enabled": true,
"description": "Resource description",
"metadata": {
"temperature": 10,
"city": "Kyiv"
},
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /resources
Returns resources.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- resourceType: required(string)
Resource type.
Example:
device - application: required(string)
Application that a resource belongs to.
Example:
myapp - enabled: (boolean)
Is resource enabled.
Example:
true - tenantID: (string)
Tenant ID. Supports partial match.
Example:
4atcicnisg - path: (string)
Resource path. Supports wildcards
*, e.g.,/org*query param will match/org,/org1,/org/sub-org.Example:
/dev - displayName: (string)
Resource display name. Supports partial match.
Example:
Thermostat - irn: (string)
Resource IRN. Supports partial match.
Example:
irn:rc73dbh7q0:iamcore:4atcicnisg::device/dev/7e1edad5-7841-4d38-bdf1-bdc575b0e989 - description: (string)
Resource description. Supports partial match.
Example:
description - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Resources are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of resource-api-types.ResourceResponse)
Items: ResourceResponse
- id: required(string)
Resource ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Resource IRN.
- application: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Application of the resource.
- tenantID: required(string)
Tenant ID of the resource.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Resource name.
- displayName: (string)
Resource display name.
- path: required(string - pattern: ^/\S*$)
Resource path.
- resourceType: required(string)
Resource type.
- created: required(datetime)
Resource creation date.
- updated: required(datetime)
Resource update date.
- enabled: required(boolean)
Whether the resource is enabled or not.
- description: (string)
Resource description.
- metadata: (object)
Resource metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=",
"irn": "irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"created": "2022-10-25T22:22:17.390631+03:00",
"updated": "2022-10-25T22:22:17.390631+03:00",
"tenantID": "4atcicnisg",
"application": "myapp",
"name": "7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"displayName": "Thermostat",
"path": "/dev",
"resourceType": "device",
"enabled": true,
"description": "Resource description",
"metadata": {
"temperature": 10,
"city": "Kyiv"
},
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 1,
"pageSize": 100
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Deletes resources in bulk. All the resources must belong to the same application and have the same resource type.
post /resources/delete
Deletes resources in bulk. All the resources must belong to the same application and have the same resource type.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- resourceIDs: required(string)
Resource IDs.
Example:
{
"resourceIDs": [
"aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk="
]
}
HTTP status code 204
Resources successfully deleted.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves a resource.
Partially updates a resource.
Deletes a single resource.
get /resources/{resourceID}
Retrieves a resource.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Resource ID.
Example:
aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=
HTTP status code 200
Resource is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- id: required(string)
Resource ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Resource IRN.
- application: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Application of the resource.
- tenantID: required(string)
Tenant ID of the resource.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Resource name.
- displayName: (string)
Resource display name.
- path: required(string - pattern: ^/\S*$)
Resource path.
- resourceType: required(string)
Resource type.
- created: required(datetime)
Resource creation date.
- updated: required(datetime)
Resource update date.
- enabled: required(boolean)
Whether the resource is enabled or not.
- description: (string)
Resource description.
- metadata: (object)
Resource metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=",
"irn": "irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"created": "2022-10-25T22:22:17.390631+03:00",
"updated": "2022-10-25T22:22:17.390631+03:00",
"tenantID": "4atcicnisg",
"application": "myapp",
"name": "7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"displayName": "Thermostat",
"path": "/dev",
"resourceType": "device",
"enabled": true,
"description": "Resource description",
"metadata": {
"temperature": 10,
"city": "Kyiv"
},
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
patch /resources/{resourceID}
Partially updates a resource.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Resource ID.
Example:
aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=
Body
Media type: application/json
Type: object
Properties- displayName: (string)
Resource display name.
- enabled: (boolean)
Whether the resource is enabled or not.
- description: (string)
Resource description.
- metadata: (object)
Resource metadata.
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"displayName": "Thermostat",
"enabled": true,
"description": "Resource description",
"metadata": {
"temperature": 10,
"city": "Kyiv"
},
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
Resource is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
HTTP status code 404
Resource not found.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
delete /resources/{resourceID}
Deletes a single resource.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Resource ID.
Example:
aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=
HTTP status code 204
Resource is successfully deleted.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves resource's policy.
Updates resource's policy.
get /resources/{resourceID}/policy
Retrieves resource's policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Resource ID.
Example:
aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=
HTTP status code 200
Resource policy is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
Policy.
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(resource)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.ResourcePolicyStatement)
Policy statements.
Items: ResourcePolicyStatement
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=",
"irn": "irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"name": "irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"description": "Individual resource policy",
"type": "resource",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow Jerry everything on the resource",
"actions": ["*"],
"principals": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /resources/{resourceID}/policy
Updates resource's policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Resource ID.
Example:
aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=
Body
Media type: application/json
Type: object
Properties- description: required(string)
Policy description.
- statements: required(array of iam-api-types.ResourcePolicyUpdateStatement)
List of statements.
Items: ResourcePolicyUpdateStatement
- description: (string)
Description.
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- effect: required(one of allow, deny)
Effect.
- description: (string)
Example:
{
"description": "New policy description",
"statements": [
{
"description": "Allow Jerry everything on the resource",
"actions": ["*"],
"principals": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
Resource's policy is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Returns list of pool IDs that are eligible for the authenticated principal for updating, and that are not already attached to the resource. The list is filtered by the requested action.
get /resources/{resourceID}/pools/eligible
Returns list of pool IDs that are eligible for the authenticated principal for updating, and that are not already attached to the resource. The list is filtered by the requested action.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Resource ID.
Example:
aXJuOnJjNzNkYmg3cTA6bXlhcHA6NGF0Y2ljbmlzZzo6ZGV2aWNlL2Rldi83ZTFlZGFkNS03ODQxLTRkMzgtYmRmMS1iZGM1NzViMGU5ODk=
Query Parameters
- page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
List of pool IDs that are eligible for the authenticated principal.
Body
Media type: application/json
Type: object
Properties- data: required(array of string)
Pool IDs.
- count: required(integer)
Total number of pools.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg==",
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2Q="
],
"count": 2,
"page": 1,
"pageSize": 100
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Evaluates permission to execute an action on a list of resources. Returns list of resources, to which currently authenticated principal has the requested action granted.
post /resources/evaluate
Evaluates permission to execute an action on a list of resources. Returns list of resources, to which currently authenticated principal has the requested action granted.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- filterResources: (boolean - default: false)
If enabled, filters requested resources and returns a subset, to which principal has the requested action granted.
Example:
true
Body
Media type: application/json
Type: object
Properties- action: required(string)
Action. Can't be a wildcard.
- resources: required(array of string)
List of IRNs. Can't contain wildcards.
Example:
{
"action": "iamcore:user:read",
"resources": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/tom",
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"
]
}
HTTP status code 200
Currently authenticated principal is authorized for action on resources.
Body
Media type: application/json
Type: array of string
Example:
[
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/tom",
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"
]
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
The filterResources parameter is disabled, and currently authenticated principal is not authorized for action on at least one requested resource.
HTTP status code 404
Requested resources do not exist.
Body
Media type: application/json
Type: array of string
Example:
[
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/tom",
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"
]
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Evaluation
Permission evaluation.
Evaluates permission to execute an action on a list of IRNs. Returns list of requested IRNs, to which currently authenticated principal has the requested action granted.
post /evaluate
Evaluates permission to execute an action on a list of IRNs. Returns list of requested IRNs, to which currently authenticated principal has the requested action granted.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- filterResources: (boolean - default: false)
If enabled, filters requested resources and returns a subset, to which principal has the requested action granted.
Example:
true
Body
Media type: application/json
Type: object
Properties- action: required(string)
Action. Can't be a wildcard.
- resources: required(array of string)
List of IRNs. Can't contain wildcards.
Example:
{
"action": "iamcore:user:read",
"resources": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/tom",
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"
]
}
HTTP status code 200
Currently authenticated principal is authorized for action on resource IRNs.
Body
Media type: application/json
Type: array of string
Example:
[
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/tom",
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"
]
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
The filterResources parameter is disabled, and currently authenticated principal is not authorized for action on at least one requested IRN.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Returns all resource IRNs that the currently authenticated principal is authorized for with the requested action. In case no authorized resources exist, empty array is returned.
post /evaluate/resources
Returns all resource IRNs that the currently authenticated principal is authorized for with the requested action. In case no authorized resources exist, empty array is returned.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
Body
Media type: application/json
Type: object
Properties- action: required(string - pattern: ^[a-z:\-]*$)
Action. Cannot be a wildcard.
- resourceType: (string)
Filters resources by type.
Example:
device - application: required(string)
Application name to consider resources in.
Example:
myapp - tenantID: (string)
Filters resources by tenant.
Example:
{
"application": "myapp",
"action": "myapp:device:read",
"resourceType": "device"
}
HTTP status code 200
List of authorized resource IRNs.
Body
Media type: application/json
Type: object
Properties- data: required(array of string)
Resource IRNs. Cannot contain wildcards.
- count: required(integer)
Total number of items.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
"irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/fcdd2d70-e4fc-4762-965c-ffc829a19b0a",
"irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"irn:rc73dbh7q0:myapp:4atcicnisg::device/1ff6f1ae-5712-11ed-9b6a-0242ac120002",
"irn:rc73dbh7q0:myapp:4atcicnisg::device/2644ce6e-5712-11ed-9b6a-0242ac120002"
],
"count": 4,
"page": 1,
"pageSize": 100
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Evaluates permitted actions on IRNs. Filters actions that are allowed on requested IRNs. An action is considered to be allowed if the currently authenticated principal is authorized on resource IRN.
post /evaluate/actions
Evaluates permitted actions on IRNs. Filters actions that are allowed on requested IRNs. An action is considered to be allowed if the currently authenticated principal is authorized on resource IRN.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- actions: required(array of string)
List of actions. Cannot contain wildcards.
- irns: required(array of string)
List of IRNs.
Example:
{
"actions": [
"iamcore:group:read",
"iamcore:user:read"
],
"irns": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::group/*",
"irn:rc73dbh7q0:myapp:4atcicnisg::user/tom"
]
}
HTTP status code 200
List of authorized actions by IRNs.
Body
Media type: application/json
Type: object
Example:
{
"irn:rc73dbh7q0:iamcore:4atcicnisg::group/*": [
"iamcore:group:read"
],
"irn:rc73dbh7q0:myapp:4atcicnisg::user/tom": [
"iamcore:user:read"
]
}HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Evaluates actions on IRNs for currently authenticated principal. Returns a map of actions to their corresponding permitted and prohibited IRNs that match the requested IRNs.
post /evaluate/irns/actions
Evaluates actions on IRNs for currently authenticated principal. Returns a map of actions to their corresponding permitted and prohibited IRNs that match the requested IRNs.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- actions: required(array of string)
List of actions. Cannot contain wildcards.
- irns: required(array of string)
List of IRNs.
Example:
{
"actions": [
"iamcore:group:read",
"iamcore:group:update"
],
"irns": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev1/*",
"irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev2"
]
}
HTTP status code 200
Lists of permitted and prohibited IRNs by action.
Body
Media type: application/json
Type: object
Example:
{
"iamcore:group:read": {
"allowed": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev1/*",
"irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev2"
],
"denied": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev1/java"
]
},
"iamcore:group:update": {
"allowed": [],
"denied": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::group/*"
]
}
}HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Evaluates actions on a resource list for a specific principal. Returns resource IDs with the overall evaluation decision (deny or allow), detailed evaluation decision per requested action, and a list of policies that deny or allow action on that resource.
post /evaluate/debug/resources
Evaluates actions on a resource list for a specific principal. Returns resource IDs with the overall evaluation decision (deny or allow), detailed evaluation decision per requested action, and a list of policies that deny or allow action on that resource.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- application: required(string)
Application name to consider resources in.
- principal: required(string)
Principal ID to run evaluation for.
- actions: required(array of string)
Actions to evaluate on resources. Cannot contain wildcards.
- resources: required(array of string)
Resource IDs.
Example:
{
"application": "iamcore",
"principal": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL2plcnJ5",
"actions": [
"iamcore:group:read",
"iamcore:group:update"
],
"resources": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==",
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYva290bGlu"
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.DebugEvaluationResponseItem)
Items: DebugEvaluationResponseItem
- id: required(string)
Resource ID.
- irn: required(string)
Resource IRN.
- decision: required(one of allow, deny)
Overall evaluation decision for all requested actions on this resource. If at least one action is denied, the overall decision is denied too. All actions must be allowed for the overall decision to be allowed.
- actions: required(array of iam-api-types.DebugEvaluationResponseActionDetailsItem)
Detailed information on evaluation decision per each requested action.
Items: DebugEvaluationResponseActionDetailsItem
- action: required(string)
Requested action.
- decision: required(string)
Evaluation decision for this action.
- allowPolicies: (array of string)
Policy IDs that allow requested action on this resource.
- denyPolicies: (array of string)
Policy IDs that deny requested action on this resource.
- action: required(string)
- id: required(string)
- evaluationTimeMillis: required(integer)
Evaluation time in milliseconds.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/java",
"decision": "deny",
"actions": [
{
"action": "iamcore:group:read",
"decision": "deny",
"allowPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-java-group-read",
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-on-java-group"
],
"denyPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/deny-java-group-read-for-jerry"
]
},
{
"action": "iamcore:group:update",
"decision": "allow",
"allowPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-java-group-update",
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-on-java-group"
]
}
]
},
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYva290bGlu",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/kotlin",
"decision": "allow",
"actions": [
{
"action": "iamcore:group:read",
"decision": "allow",
"allowPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-kotlin-group-read"
]
},
{
"action": "iamcore:group:update",
"decision": "allow",
"allowPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-kotlin-group-update"
]
}
]
}
],
"evaluationTimeMillis": 43
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Evaluates actions on all resources of specific type in a tenant for a specific principal. Returns resource IDs with the evaluation decision (deny or allow) and a list of policies that deny or allow requested action on that resource.
post /evaluate/debug/resources/type
Evaluates actions on all resources of specific type in a tenant for a specific principal. Returns resource IDs with the evaluation decision (deny or allow) and a list of policies that deny or allow requested action on that resource.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
Body
Media type: application/json
Type: object
Properties- tenantID: (string)
Tenant ID to consider resources in. If not specified, currently authenticated principal's tenant is used.
- application: required(string)
Application name to consider resources in.
- principal: required(string)
Principal ID to run evaluation for.
- actions: required(array of string)
Actions to evaluate on resources. Cannot contain wildcards.
- resourceType: required(string)
Resource type to run evaluation on.
Example:
{
"application": "iamcore",
"tenantID": "4atcicnisg",
"principal": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL2plcnJ5",
"actions": [
"iamcore:group:update",
"iamcore:group:read"
],
"resourceType": "group"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.DebugEvaluationResponseItem)
Items: DebugEvaluationResponseItem
- id: required(string)
Resource ID.
- irn: required(string)
Resource IRN.
- decision: required(one of allow, deny)
Overall evaluation decision for all requested actions on this resource. If at least one action is denied, the overall decision is denied too. All actions must be allowed for the overall decision to be allowed.
- actions: required(array of iam-api-types.DebugEvaluationResponseActionDetailsItem)
Detailed information on evaluation decision per each requested action.
Items: DebugEvaluationResponseActionDetailsItem
- action: required(string)
Requested action.
- decision: required(string)
Evaluation decision for this action.
- allowPolicies: (array of string)
Policy IDs that allow requested action on this resource.
- denyPolicies: (array of string)
Policy IDs that deny requested action on this resource.
- action: required(string)
- id: required(string)
- evaluationTimeMillis: required(integer)
Evaluation time in milliseconds.
- count: required(integer)
Total number of evaluated resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Total returned elements.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYvamF2YQ==",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/java",
"decision": "deny",
"actions": [
{
"action": "iamcore:group:read",
"decision": "deny",
"allowPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-java-group-read",
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-on-java-group"
],
"denyPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/deny-java-group-read-for-jerry"
]
},
{
"action": "iamcore:group:update",
"decision": "allow",
"allowPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-java-group-update",
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-on-java-group"
]
}
]
},
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpncm91cC9kZXYva290bGlu",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::group/dev/kotlin",
"decision": "allow",
"actions": [
{
"action": "iamcore:group:read",
"decision": "allow",
"allowPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-kotlin-group-read"
]
},
{
"action": "iamcore:group:update",
"decision": "allow",
"allowPolicies": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-kotlin-group-update"
]
}
]
}
],
"evaluationTimeMillis": 43,
"count": 2,
"page": 1,
"pageSize": 10
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Policies
Operations on policies.
Creates policy.
Returns policies.
post /policies
Creates policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- level: required(one of account, tenant)
Policy level type.
- description: (string)
Policy description.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Pool IDs the policy will be attached to.
Example:
{
"name": "allow-all-actions-on-jerry",
"level": "tenant",
"description": "Allow all actions on Jerry",
"statements": [
{
"actions": [
"iamcore:user:*"
],
"resources": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"
],
"effect": "allow",
"description": "Allow all actions on Jerry"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
HTTP status code 201
Policy is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/policies/{policyID}Example:
https://cloud.iamcore.io/api/v1/policies/aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=
Body
Media type: application/json
Type: object
Properties- data: required(object)
Policy.
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow",
"description": "Allow all actions on Jerry"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /policies
Returns policies.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- name: (string)
Policy name. Supports partial match.
Example:
allow-all-actions-on-jerry - level: (one of account, tenant)
Policy level type.
Example:
tenant - description: (string)
Policy description. Supports partial match.
Example:
Allow all actions on Jerry - irn: (string)
Policy IRN. Supports partial match.
Example:
irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Policies are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Returns policy.
Updates policy.
Deletes policy.
get /policies/{policyID}
Returns policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- policyID: required(string)
Policy ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=
HTTP status code 200
Policy is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
Policy.
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow",
"description": "Allow all actions on Jerry"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /policies/{policyID}
Updates policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- policyID: required(string)
Policy ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=
Body
Media type: application/json
Type: object
Properties- description: required(string)
Policy description.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
Example:
{
"description": "Jerry management policy",
"statements": [
{
"description": "Allow read, update, delete on Jerry",
"effect": "allow",
"actions": [
"iamcore:user:read",
"iamcore:user:update",
"iamcore:user:delete"
],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"]
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
Policy is successfully updated.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
delete /policies/{policyID}
Deletes policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- policyID: required(string)
Policy ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=
HTTP status code 204
Policy is successfully deleted.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Returns principal IRNs attached to the policy.
get /policies/{policyID}/principals
Returns principal IRNs attached to the policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- policyID: required(string)
Policy ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=
HTTP status code 200
Principals are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of string)
Principal IRNs.
Example:
{
"data": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry",
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/joseph"
]
}
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Tenants
Operations on tenants.
Retrieves tenants.
get /tenants
Retrieves tenants.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- irn: (string)
Resource IRN. Supports partial match.
Example:
irn:ce3pi5sbcv:iamcore:47g5l2ijc0::tenant/47g5l2ijc0 - tenantID: (string)
Tenant ID. Supports partial match.
Example:
47g5l2ijc0 - name: (string)
Tenant name. Supports partial match.
Example:
my-tenant - displayName: (string)
Tenant display name. Supports partial match.
Example:
My tenant - issuerType: (string)
Tenant issuer type. Supports partial match.
Example:
iamcore - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Tenants are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of tenant-api-types.TenantResponse)
Items: TenantResponse
- resourceID: required(string)
Resource ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Tenant IRN.
- tenantID: required(string)
Tenant ID.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Tenant name.
- displayName: required(string)
Tenant display name.
- userMetadataUiSchema: (object)
User metadata UI schema.
- groupMetadataUiSchema: (object)
Group metadata UI schema.
- loginTheme: required(string)
Tenant login theme.
- created: required(datetime)
Tenant creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
Tenant last update date in ISO 8601 format (UTC timezone).
- resourceID: required(string)
- count: required(integer)
Total number of tenants.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"resourceID": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==",
"irn": "irn:rc73dbh7q0:iamcore:47g5l2ijc0::tenant/47g5l2ijc0",
"tenantID": "47g5l2ijc0",
"name": "my-tenant",
"displayName": "My tenant",
"loginTheme": "My theme",
"issuerType": "iamcore",
"userMetadataUiSchema": {
"key": "val"
},
"groupMetadataUiSchema": {
"key": "val"
},
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z"
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves tenant's issuers.
get /tenants/issuers
Retrieves tenant's issuers.
Query Parameters
- tenant: required(string)
Tenant name or ID.
Example:
my-tenant - account: required(string)
Account ID to consider tenant in.
Example:
rc73dbh7q0
HTTP status code 200
Issuers are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of tenant-api-types.IssuerResponse)
Items: IssuerResponse
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Issuer name.
- type: required(iamcore)
Issuer type.
- url: required(string)
Issuer token URL.
- loginURL: required(string)
Issuer login URL.
- clientID: required(string)
Issuer client ID.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0N2c1bDJpamMwOjppc3N1ZXIvaWFtY29yZQ==",
"irn": "irn:rc73dbh7q0:iamcore:47g5l2ijc0::issuer/iamcore",
"name": "iamcore",
"type": "iamcore",
"url": "https://iamcore.io/auth",
"loginURL": "https://iamcore.io/login",
"clientID": "a04583ab-cdc5-4991-ad1c-1e5555adea7e"
}
]
}
HTTP status code 404
Resource not found.
Creates a new tenant using iamcore as an issuer of the tenant JWT tokens.
post /tenants/issuer-types/iamcore
Creates a new tenant using iamcore as an issuer of the tenant JWT tokens.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Tenant name.
- displayName: required(string)
Tenant display name.
- userMetadataUiSchema: (object)
User metadata UI schema.
- groupMetadataUiSchema: (object)
Group metadata UI schema.
- loginTheme: (string)
Tenant login theme. Default is
iamcore
Example:
{
"name": "my-tenant",
"displayName": "My tenant",
"loginTheme": "My theme",
"userMetadataUiSchema": {
"key": "val"
},
"groupMetadataUiSchema": {
"key": "val"
}
}
HTTP status code 201
Tenant is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/tenants/{tenantID}Example:
https://cloud.iamcore.io/api/v1/tenants/a3JuOmlhbTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==
Body
Media type: application/json
Type: object
Properties- data: required(object)
- resourceID: required(string)
Resource ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Tenant IRN.
- tenantID: required(string)
Tenant ID.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Tenant name.
- displayName: required(string)
Tenant display name.
- userMetadataUiSchema: (object)
User metadata UI schema.
- groupMetadataUiSchema: (object)
Group metadata UI schema.
- loginTheme: required(string)
Tenant login theme.
- created: required(datetime)
Tenant creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
Tenant last update date in ISO 8601 format (UTC timezone).
- resourceID: required(string)
Example:
{
"data": {
"resourceID": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==",
"irn": "irn:rc73dbh7q0:iamcore:47g5l2ijc0::tenant/47g5l2ijc0",
"tenantID": "47g5l2ijc0",
"name": "my-tenant",
"displayName": "My tenant",
"loginTheme": "My theme",
"issuerType": "iamcore",
"userMetadataUiSchema": {
"key": "val"
},
"groupMetadataUiSchema": {
"key": "val"
},
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z"
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves a specific tenant.
Updates a specific tenant.
Deletes tenant.
get /tenants/{resourceID}
Retrieves a specific tenant.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Tenant ID.
Example:
a3JuOnJjNzM5Z2dnZzA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==
HTTP status code 200
Tenant is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
- resourceID: required(string)
Resource ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Tenant IRN.
- tenantID: required(string)
Tenant ID.
- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Tenant name.
- displayName: required(string)
Tenant display name.
- userMetadataUiSchema: (object)
User metadata UI schema.
- groupMetadataUiSchema: (object)
Group metadata UI schema.
- loginTheme: required(string)
Tenant login theme.
- created: required(datetime)
Tenant creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
Tenant last update date in ISO 8601 format (UTC timezone).
- resourceID: required(string)
Example:
{
"data": {
"resourceID": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==",
"irn": "irn:rc73dbh7q0:iamcore:47g5l2ijc0::tenant/47g5l2ijc0",
"tenantID": "47g5l2ijc0",
"name": "my-tenant",
"displayName": "My tenant",
"loginTheme": "My theme",
"issuerType": "iamcore",
"userMetadataUiSchema": {
"key": "val"
},
"groupMetadataUiSchema": {
"key": "val"
},
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z"
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /tenants/{resourceID}
Updates a specific tenant.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Tenant ID.
Example:
a3JuOnJjNzM5Z2dnZzA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==
Body
Media type: application/json
Type: object
Properties- displayName: required(string)
Tenant display name.
- userMetadataUiSchema: (object)
User metadata UI schema.
- groupMetadataUiSchema: (object)
Group metadata UI schema.
Example:
{
"displayName": "New display name",
"userMetadataUiSchema": {
"key": "val"
},
"groupMetadataUiSchema": {
"key": "val"
}
}
HTTP status code 204
Tenant is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
delete /tenants/{resourceID}
Deletes tenant.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Tenant ID.
Example:
a3JuOnJjNzM5Z2dnZzA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==
HTTP status code 204
Tenant is successfully deleted.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Creates a new issuer in the tenant.
post /tenants/{resourceID}/issuer-types/iamcore/issuers
Creates a new issuer in the tenant.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Tenant ID.
Example:
a3JuOnJjNzM5Z2dnZzA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==
Body
Media type: application/json
Type: object
Properties- name: required(string - pattern: ^[a-zA-Z0-9_\-@.]*$)
Issuer name.
Example:
{
"name": "my-issuer"
}
HTTP status code 201
Issuer is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/tenants/{resourceID}/issuers/{issuerID}Example:
https://cloud.iamcore.io/api/v1/tenants/a3JuOnJjNzM5Z2dnZzA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA==/issuers/aXJuOnJjNzM5Z2dnZzA6aWFtY29yZTo0N2c1bDJpamMwOjppc3N1ZXIvbXktaXNzdWVy
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves tenant's issuer settings of iamcore type.
Updates tenant's issuer settings of iamcore type.
get /tenants/{resourceID}/issuer-types/iamcore/issuers/{issuerID}/settings
Retrieves tenant's issuer settings of iamcore type.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Tenant ID.
Example:
a3JuOnJjNzM5Z2dnZzA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA== - issuerID: required(string)
HTTP status code 200
Tenant's issuer settings are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
- redirectURIs: required(array of string)
The list of URIs allowed for redirect to accept authorization code
- redirectURIs: required(array of string)
Example:
{
"data": {
"redirectURIs": [
"*",
"http://localhost:4200"
]
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /tenants/{resourceID}/issuer-types/iamcore/issuers/{issuerID}/settings
Updates tenant's issuer settings of iamcore type.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Tenant ID.
Example:
a3JuOnJjNzM5Z2dnZzA6aWFtY29yZTo0N2c1bDJpamMwOjp0ZW5hbnQvNDdnNWwyaWpjMA== - issuerID: required(string)
Body
Media type: application/json
Type: object
Properties- redirectURIs: required(array of string)
The list of URIs allowed for redirect to accept authorization code
Example:
{
"redirectURIs": [
"*",
"http://localhost:4200"
]
}
HTTP status code 204
Tenant's issuer settings are successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves all email templates for the tenant.
get /tenants/{tenantID}/email-templates
Retrieves all email templates for the tenant.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- tenantID: required(string)
Tenant ID.
Example:
47g5l2ijc0
HTTP status code 200
Email templates are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of tenant-api-types.EmailTemplateItem)
Items: EmailTemplateItem
- type: required(string)
Type of the email template.
- subject: (string)
Subject line of the email.
- template: (string)
HTML content of the email.
- type: required(string)
Example:
{
"data": [
{
"type": "reset-password",
"subject": "Reset password",
"template": "<!DOCTYPE html><html><body><p><a href={{link}}>Link to reset password</a><p> This link will expire within {{linkExpirationTime}}.</body></html>"
},
{
"type": "verify-email",
"template": "<!DOCTYPE html><html><body><p><a href={{link}}>Link to verify your e-mail address</a><p>This link is valid for {{linkExpirationTime}}.</body></html>"
}
]
}HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Creates or updates an email template.
Retrieves a specific email template.
put /tenants/{tenantID}/email-templates/{type}
Creates or updates an email template.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- tenantID: required(string)
Tenant ID.
Example:
47g5l2ijc0 - type: required(one of reset-password, verify-email)
Type of the email template.
Example:
reset-password
Body
Media type: application/json
Type: object
Properties- subject: (string)
Subject line of the email. If not provided, the default subject will be used.
- template: (string)
HTML content of the email. If not provided, the default template will be used. Can contain placeholders.
Example:
{
"subject": "Reset password",
"template": "<!DOCTYPE html><html><body><p><a href={{link}}>Link to reset password</a><p> This link will expire within {{linkExpirationTime}}.</body></html>"
}
HTTP status code 204
Email template successfully saved.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /tenants/{tenantID}/email-templates/{type}
Retrieves a specific email template.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- tenantID: required(string)
Tenant ID.
Example:
47g5l2ijc0 - type: required(one of reset-password, verify-email)
Type of the email template.
Example:
reset-password
HTTP status code 200
Email template is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
- type: required(string)
Type of the email template.
- subject: (string)
Subject line of the email.
- template: (string)
HTML content of the email.
- type: required(string)
Example:
{
"data": {
"type": "reset-password",
"subject": "Reset password",
"template": "<!DOCTYPE html><html><body><p><a href={{link}}>Link to reset password</a><p> This link will expire within {{linkExpirationTime}}.</body></html>"
}
}HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
HTTP status code 404
Resource not found.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves tenant's resource policy.
Updates tenant's resource policy.
get /tenants/policy
Retrieves tenant's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
HTTP status code 200
Tenant's resource policy is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
Policy.
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(resource)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.ResourcePolicyStatement)
Policy statements.
Items: ResourcePolicyStatement
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp0ZW5hbnQvNGF0Y2ljbmlzZw==",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::tenant/4atcicnisg",
"name": "irn:rc73dbh7q0:iamcore:4atcicnisg::tenant/4atcicnisg",
"description": "Individual resource policy",
"type": "resource",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow Tom everything on tenant",
"actions": [
"*"
],
"principals": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/tom"
],
"effect": "allow"
}
]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /tenants/policy
Updates tenant's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- description: required(string)
Policy description.
- statements: required(array of iam-api-types.ResourcePolicyUpdateStatement)
List of statements.
Items: ResourcePolicyUpdateStatement
- description: (string)
Description.
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- effect: required(one of allow, deny)
Effect.
- description: (string)
Example:
{
"description": "New policy description",
"statements": [
{
"description": "Allow Jerry everything on the resource",
"actions": ["*"],
"principals": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": ["aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="]
}
HTTP status code 204
Resource policy is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Accounts
Operations on accounts.
Creates a new account.
post /accounts
Creates a new account.
Body
Media type: application/json
Type: object
Properties- email: required(string - pattern: ^[a-z0-9]+[\._]?[a-z0-9]+[@][a-z]+[.][a-z]{2,3}$)
Account owner's email.
- password: required(string)
Account owner's password. It must be of 8-15 characters and contain:
- at least one number
- an uppercase letter
- a special character
- confirmPassword: required(string)
Confirmation of account owner's password
Example:
{
"email": "acme@acme.com",
"password": "!l*k4y24NgH%",
"confirmPassword": "!l*k4y24NgH%"
}
Retrieves a specific account`s profile.
Updates a specific account`s profile.
get /accounts/{accountID}/profile
Retrieves a specific account`s profile.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- accountID: required(string)
Account ID.
Example:
aXJuOjRhdGNpY25pc2c6aWFtY29yZTo6OmFjY291bnQvNGF0Y2ljbmlzZw==
HTTP status code 200
Account`s profile is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
- accountType: (one of personal, company)
Account type.
- firstName: (string)
First name.
- lastName: (string)
Last name.
- companyName: (string)
Company name.
- jobCategory: (string)
Job category.
- industry: (string)
Industry.
- country: (string)
Country.
- accountType: (one of personal, company)
Example:
{
"data": {
"accountType": "company",
"firstName": "Tom",
"lastName": "Jasper",
"companyName": "Acme Inc.",
"jobCategory": "Software Engineer",
"industry": "Technology",
"country": "United States"
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /accounts/{accountID}/profile
Updates a specific account`s profile.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- accountID: required(string)
Account ID.
Example:
aXJuOjRhdGNpY25pc2c6aWFtY29yZTo6OmFjY291bnQvNGF0Y2ljbmlzZw==
Body
Media type: application/json
Type: object
Properties- accountType: required(one of personal, company)
Account type.
- firstName: (string)
First name.
- lastName: (string)
Last name.
- companyName: (string)
Company name.
- jobCategory: (string)
Job category.
- industry: (string)
Industry.
- country: (string)
Country.
Example:
{
"accountType": "company",
"firstName": "Tom",
"lastName": "Jasper",
"companyName": "Acme Inc.",
"jobCategory": "Software Engineer",
"industry": "Technology",
"country": "United States"
}
HTTP status code 204
Account`s profile is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Applications
Operations on applications.
Creates a new application.
Retrieves applications.
post /applications
Creates a new application.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- name: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Application name.
- displayName: (string)
Application display name.
Example:
{
"name": "myapp",
"displayName": "My app name"
}
HTTP status code 201
Application is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/applications/{applicationID}Example:
https://cloud.iamcore.io/api/v1/applications/aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /applications
Retrieves applications.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- irn: (string)
Application IRN. Supports partial match.
Example:
irn:4atcicnisg:iamcore:::application/myapp - name: (string)
Application name. Supports partial match.
Example:
myapp - displayName: (string)
Application display name. Supports partial match.
Example:
My app - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Applications are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of application-api-types.ApplicationResponse)
Items: ApplicationResponse
- id: required(string)
Application ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Application IRN.
- name: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Application name.
- displayName: (string)
Application display name.
- created: required(datetime)
Application creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
Application last update date in ISO 8601 format (UTC timezone).
- id: required(string)
- count: required(integer)
Total number of applications.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw",
"irn": "irn:rc73dbh7q0:iamcore:::application/myapp",
"name": "myapp",
"displayName": "My app name",
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z"
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves a specific application.
Updates a specific application.
get /applications/{applicationID}
Retrieves a specific application.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
HTTP status code 200
Application is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
- id: required(string)
Application ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Application IRN.
- name: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Application name.
- displayName: (string)
Application display name.
- created: required(datetime)
Application creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
Application last update date in ISO 8601 format (UTC timezone).
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw",
"irn": "irn:rc73dbh7q0:iamcore:::application/myapp",
"name": "myapp",
"displayName": "My app name",
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z"
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /applications/{applicationID}
Updates a specific application.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
Body
Media type: application/json
Type: object
Properties- displayName: required(string)
Application display name.
Example:
{
"displayName": "New display name"
}
HTTP status code 204
Application is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Creates a new resource type.
Retrieves resource types.
post /applications/{applicationID}/resource-types
Creates a new resource type.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
Body
Media type: application/json
Type: object
Properties- type: required(string - pattern: ^[a-z\-]{1,10}$)
Resource type.
- description: (string)
Description.
- actionPrefix: (string - pattern: ^[a-z\-:]{1,10}$)
Applicable prefix of action to resources of that type. One to three tokens allowed in an action prefix separated by delimiters. For example, if the action prefix is
myapp:documentand the operation issign, then the resulting action ismyapp:document:sign. If not specified, then type of resource is used. - operations: (array of string - default: read,create,update,delete)
Applicable operations of actions to resources of that type. For example, if the operation is
signand the action prefix ismyapp:document, then the resulting action ismyapp:document:sign.
Example:
{
"type": "document",
"description": "Representation of the 'document' resource type",
"actionPrefix": "document",
"operations": [
"sign",
"export"
]
}
HTTP status code 201
Resource type is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/applications/{applicationID}/resource-types/{resourceTypeID}Example:
https://cloud.iamcore.io/api/v1/applications/aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw/resource-types/aXJuOnJjNzNkYmg3cTA6bXlhcHA6OjpyZXNvdXJjZS10eXBlL2RvY3VtZW50
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /applications/{applicationID}/resource-types
Retrieves resource types.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
Query Parameters
- page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Resource types are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of application-api-types.ResourceTypeResponse)
Items: ResourceTypeResponse
- id: required(string)
Resource type ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Resource type IRN.
- type: required(string)
Resource type.
- description: (string)
Description.
- actionPrefix: required(string)
Applicable prefix of action to resources of that type. One to three tokens allowed in an action prefix separated by delimiters. For example, if the action prefix is
myapp:documentand the operation issign, then the resulting action ismyapp:document:sign. - operations: (array of string)
Applicable operations of actions to resources of that type. For example, if the operation is
signand the action prefix ismyapp:document, then the resulting action ismyapp:document:sign. - created: required(datetime)
Resource type creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
Resource type last update date in ISO 8601 format (UTC timezone).
- id: required(string)
- count: required(integer)
Total number of resource types.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6bXlhcHA6OjpyZXNvdXJjZS10eXBlL2RvY3VtZW50",
"irn": "irn:rc73dbh7q0:myapp:::resource-type/document",
"type": "document",
"description": "Representation of the 'document' resource type",
"actionPrefix": "document",
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z",
"operations": [
"sign",
"export"
]
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves a specific resource type.
Updates a specific resource type.
get /applications/{applicationID}/resource-types/{resourceTypeID}
Retrieves a specific resource type.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw - resourceTypeID: required(string)
Resource type ID.
Example:
aXJuOnJjNzNkYmg3cTA6bXlhcHA6OjpyZXNvdXJjZS10eXBlL2RvY3VtZW50
HTTP status code 200
Resource type is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
- id: required(string)
Resource type ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Resource type IRN.
- type: required(string)
Resource type.
- description: (string)
Description.
- actionPrefix: required(string)
Applicable prefix of action to resources of that type. One to three tokens allowed in an action prefix separated by delimiters. For example, if the action prefix is
myapp:documentand the operation issign, then the resulting action ismyapp:document:sign. - operations: (array of string)
Applicable operations of actions to resources of that type. For example, if the operation is
signand the action prefix ismyapp:document, then the resulting action ismyapp:document:sign. - created: required(datetime)
Resource type creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
Resource type last update date in ISO 8601 format (UTC timezone).
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6bXlhcHA6OjpyZXNvdXJjZS10eXBlL2RvY3VtZW50",
"irn": "irn:rc73dbh7q0:myapp:::resource-type/document",
"type": "document",
"description": "Representation of the 'document' resource type",
"actionPrefix": "document",
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z",
"operations": [
"sign",
"export"
]
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /applications/{applicationID}/resource-types/{resourceTypeID}
Updates a specific resource type.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw - resourceTypeID: required(string)
Resource type ID.
Example:
aXJuOnJjNzNkYmg3cTA6bXlhcHA6OjpyZXNvdXJjZS10eXBlL2RvY3VtZW50
Body
Media type: application/json
Type: object
Properties- description: (string)
Description.
- actionPrefix: required(string)
Applicable prefix of action to resources of that type. One to three tokens allowed in an action prefix separated by delimiters. For example, if the action prefix is
myapp:documentand the operation issign, then the resulting action ismyapp:document:sign. - operations: (array of string)
Applicable operations of actions to resources of that type. For example, if the operation is
signand the action prefix ismyapp:document, then the resulting action ismyapp:document:sign.
Example:
{
"description": "Representation of the 'document' resource type",
"actionPrefix": "document",
"operations": [
"sign",
"export"
]
}
HTTP status code 204
Resource type is successfully updated.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves application's resource policy.
Updates application's resource policy.
get /applications/{applicationID}/policy
Retrieves application's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
HTTP status code 200
Application's resource policy is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
Policy.
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(resource)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.ResourcePolicyStatement)
Policy statements.
Items: ResourcePolicyStatement
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw",
"irn": "irn:rc73dbh7q0:iamcore:::application/myapp",
"name": "irn:rc73dbh7q0:iamcore:::application/myapp",
"description": "Resource policy",
"type": "resource",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow Tom everything on application",
"actions": [
"*"
],
"principals": [
"irn:rc73dbh7q0:iamcore:root::user/tom"
],
"effect": "allow"
}
]
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /applications/{applicationID}/policy
Updates application's resource policy.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
Body
Media type: application/json
Type: object
Properties- description: required(string)
Policy description.
- statements: required(array of iam-api-types.ResourcePolicyUpdateStatement)
List of statements.
Items: ResourcePolicyUpdateStatement
- description: (string)
Description.
- actions: required(array of string)
Actions.
- principals: required(array of string)
Principals.
- effect: required(one of allow, deny)
Effect.
- description: (string)
Example:
{
"description": "New policy description",
"statements": [
{
"description": "Allow Jerry everything on the application",
"actions": [
"*"
],
"principals": [
"irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"
],
"effect": "allow"
}
]
}
HTTP status code 204
Application's resource policy is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves identity policies that the application is attached to.
get /applications/{applicationID}/policies
Retrieves identity policies that the application is attached to.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Identity policies that the application is attached to are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Attaches policies to an application.
put /applications/{applicationID}/policies/attach
Attaches policies to an application.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
Application is successfully attached to policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Detaches policies from an application.
put /applications/{applicationID}/policies/detach
Detaches policies from an application.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
Application is successfully detached from policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves identity policies that the application is eligible to be attached to.
get /applications/{applicationID}/policies/eligible
Retrieves identity policies that the application is eligible to be attached to.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- applicationID: required(string)
Application ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw
Query Parameters
- tenantID: (string)
Tenant ID.
Example:
4atcicnisg - name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Identity policies that the application is eligible to be attached to are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Pools
Operations on pools.
Creates a new pool.
Returns pool list.
post /pools
Creates a new pool.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- name: required(string - pattern: ^[a-zA-Z0-9_\-@.+]*$)
Pool name.
- tenantID: (string)
Tenant ID that pool belongs to.
- parentID: (string)
Parent pool ID.
- resourceIDs: (array of string)
Resource IDs to be attached to the pool.
Example:
{
"name": "admin",
"tenantID": "4atcicnisg",
"parentID": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2Q=",
"resourceIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL3RvbQ=="
]
}
HTTP status code 201
Pool is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/pools/{poolID}Example:
https://cloud.iamcore.io/api/v1/pools/aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=
Body
Media type: application/json
Type: object
Properties- id: required(string)
Pool ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-@.+]*$)
Pool IRN.
- name: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Pool name.
- resourceIDs: (array of string)
Resource IDs attached to the pool.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::pool/prod/admin",
"name": "admin",
"resources": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL3RvbQ=="
]
}
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /pools
Returns pool list.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Query Parameters
- name: (string)
Pool name. Supports partial match.
Example:
prod - irn: (string)
Pool IRN. Supports partial match.
Example:
irn:rc73dbh7q0:iamcore:4atcicnisg::pool/prod - resourceIRN: (string)
Resource IRN attached to pools. Can be wildcard. Supports partial match.
Example:
irn:rc73dbh7q0:iamcore:4atcicnisg::user/* - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Pools are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of pool-api-types.PoolResponse)
Items: PoolResponse
- id: required(string)
Pool ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-@.+]*$)
Pool IRN.
- name: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Pool name.
- resourceIDs: (array of string)
Resource IDs attached to the pool.
- id: required(string)
- count: required(integer)
Total number of applications.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::pool/prod/admin",
"name": "admin",
"resources": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL3RvbQ=="
]
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Bulk deletes pools and their associated child pools.
post /pools/delete
Bulk deletes pools and their associated child pools.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- poolIDs: required(array of string)
Pool IDs.
Example:
{
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg==",
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2Q="
]
}
HTTP status code 204
Pools are successfully deleted.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Returns pool information.
Update pool.
Deletes a pool and associated child pools.
get /pools/{poolID}
Returns pool information.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- poolID: required(string)
Pool ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=
HTTP status code 200
Pool successfully retrieved.
Body
Media type: application/json
Type: object
Properties- id: required(string)
Pool ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-@.+]*$)
Pool IRN.
- name: required(string - pattern: ^[a-z0-9_\-]{1,10}$)
Pool name.
- resourceIDs: (array of string)
Resource IDs attached to the pool.
Example:
{
"data": {
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::pool/prod/admin",
"name": "admin",
"resources": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL3RvbQ=="
]
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /pools/{poolID}
Update pool.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- poolID: required(string)
Pool ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=
Body
Media type: application/json
Type: object
Properties- resourceIDs: required(array of string)
Resource IDs to be attached to the pool.
Example:
{
"resourceIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL2Jlbg=="
]
}
HTTP status code 204
Pool successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
delete /pools/{poolID}
Deletes a pool and associated child pools.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- poolID: required(string)
Pool ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=
HTTP status code 204
Pool is successfully deleted.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Attache resources to pool.
put /pools/{poolID}/attach
Attache resources to pool.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- poolID: required(string)
Pool ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=
Body
Media type: application/json
Type: object
Properties- resourceIDs: required(array of string)
Resource IDs to be attached to the pool.
Example:
{
"resourceIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL2Jlbg=="
]
}
HTTP status code 204
Resources successfully attached to pool.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Detach resources to pool.
put /pools/{poolID}/detach
Detach resources to pool.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- poolID: required(string)
Pool ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=
Body
Media type: application/json
Type: object
Properties- resourceIDs: required(array of string)
Resource IDs to be attached to the pool.
Example:
{
"resourceIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL2Jlbg=="
]
}
HTTP status code 204
Resources successfully detached from pool.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves resources that are eligible to be attached to the pool.
get /pools/{poolID}/resources/eligible
Retrieves resources that are eligible to be attached to the pool.
URI Parameters
- poolID: required(string)
Pool ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2QvYWRtaW4=
Query Parameters
- resourceType: required(string)
Resource type.
Example:
device - application: required(string)
Application that a resources belongs to.
Example:
myapp - tenantID: (string)
Tenant ID.
Example:
4atcicnisg
HTTP status code 200
Resources that are eligible to be attached to the pool are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of string)
Resource IRNs. Cannot contain wildcards.
- count: required(integer)
Total number of items.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
"irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/fcdd2d70-e4fc-4762-965c-ffc829a19b0a",
"irn:rc73dbh7q0:myapp:4atcicnisg::device/dev/7e1edad5-7841-4d38-bdf1-bdc575b0e989",
"irn:rc73dbh7q0:myapp:4atcicnisg::device/1ff6f1ae-5712-11ed-9b6a-0242ac120002",
"irn:rc73dbh7q0:myapp:4atcicnisg::device/2644ce6e-5712-11ed-9b6a-0242ac120002"
],
"count": 4,
"page": 1,
"pageSize": 100
}
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Attaches a resource to pools.
put /pools/attach/resource/{resourceID}
Attaches a resource to pools.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- resourceID: required(string)
Resource ID.
Example:
aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjp1c2VyL2Jlbg==
Body
Media type: application/json
Type: object
Properties- poolIDs: required(array of string)
Pool IDs.
Example:
{
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg==",
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL3Byb2Q="
]
}
HTTP status code 204
Resource successfully attached to pools.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Anonymous
Operations on anonymous principal.
Attaches the anonymous principal to the policies.
put /anonymous/policies/attach
Attaches the anonymous principal to the policies.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
The anonymous principal is successfully attached to the policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Detaches the anonymous principal from policies.
post /anonymous/policies/detach
Detaches the anonymous principal from policies.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
The anonymous principal is successfully detached from the policies.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
API keys
Operations on API keys.
Creates API key for principal.
Retrieves principal's API keys.
post /principals/{principalID}/api-keys
Creates API key for principal.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- principalID: required(string)
HTTP status code 201
API key is successfully created.
Headers
- Location: required(string)
URI in format
{schema}://{host}/api/v1/principals/{principalID}/api-keys/{apiKey}Example:
https://cloud.iamcore.io/api/v1/principals/aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo6OmFwcGxpY2F0aW9uL215YXBw/api-keys/2W9Xv6Ae7y0nHf8Mb1JdKc5Tl4sZgIzNtEjPuSqOxDhYi3LrpQmGkFVbCh94ygh6
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
get /principals/{principalID}/api-keys
Retrieves principal's API keys.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- principalID: required(string)
Query Parameters
- state: (one of active, suspended, revoked)
API key state.
Example:
suspended - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc
HTTP status code 200
Principal's API keys are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of api-key-api-types.ApiKeyResponse)
Items: ApiKeyResponse
- apiKey: required(string - pattern: ^[a-zA-Z0-9]{64}$)
API key used by the principal (e.g., application, tenant, user) to communicate with iamcore for managing protected resources. Must be passed in the
X-iamcore-API-KeyHTTP header. - state: required(one of active, suspended, revoked)
API key state.
- `active` - token is elligable for usage
- `suspended` - suspended (frozen) token
- `revoked` - revoked token
- lastUsed: (datetime)
API key last used date in ISO 8601 format (UTC timezone).
- created: required(datetime)
API key creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
API key last update date in ISO 8601 format (UTC timezone).
- apiKey: required(string - pattern: ^[a-zA-Z0-9]{64}$)
- count: required(integer)
Total number of principal's API keys.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"apiKey": "5D8g3hFbK7YpZ9cE2qXsW6vRoA1TnI4uM0ljOJNtViUmkQzx989gSkadh23hga14",
"state": "active",
"lastUsed": "2021-10-19T17:57:31.14492667Z",
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z"
}
],
"count": 1,
"page": 1,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Retrieves principal's API key.
Updates an API key.
get /principals/{principalID}/api-keys/{apiKey}
Retrieves principal's API key.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- principalID: required(string)
- apiKey: required(string)
API key.
Example:
2W9Xv6Ae7y0nHf8Mb1JdKc5Tl4sZgIzNtEjPuSqOxDhYi3LrpQmGkFVbCh94ygh6
HTTP status code 200
Principal's API key is successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(object)
- apiKey: required(string - pattern: ^[a-zA-Z0-9]{64}$)
API key used by the principal (e.g., application, tenant, user) to communicate with iamcore for managing protected resources. Must be passed in the
X-iamcore-API-KeyHTTP header. - state: required(one of active, suspended, revoked)
API key state.
- `active` - token is elligable for usage
- `suspended` - suspended (frozen) token
- `revoked` - revoked token
- lastUsed: (datetime)
API key last used date in ISO 8601 format (UTC timezone).
- created: required(datetime)
API key creation date in ISO 8601 format (UTC timezone).
- updated: required(datetime)
API key last update date in ISO 8601 format (UTC timezone).
- apiKey: required(string - pattern: ^[a-zA-Z0-9]{64}$)
Example:
{
"data": {
"apiKey": "2W9Xv6Ae7y0nHf8Mb1JdKc5Tl4sZgIzNtEjPuSqOxDhYi3LrpQmGkFVbCh94ygh6",
"state": "active",
"lastUsed": "2021-10-19T17:57:31.14492667Z",
"created": "2021-10-18T12:27:15.55267632Z",
"updated": "2021-10-18T12:27:15.55267632Z"
}
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
put /principals/{principalID}/api-keys/{apiKey}
Updates an API key.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- principalID: required(string)
- apiKey: required(string)
API key.
Example:
2W9Xv6Ae7y0nHf8Mb1JdKc5Tl4sZgIzNtEjPuSqOxDhYi3LrpQmGkFVbCh94ygh6
Body
Media type: application/json
Type: object
Properties- state: required(one of active, suspended, revoked)
The new state of the principal's API key. Allowed state transitions are:
- `active` → `suspended`
- `suspended` → `active`
- any state → `revoked`
Example:
{
"state": "revoked"
}
HTTP status code 204
Principal's API key is successfully updated.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Roles
Operations on Roles.
Retrieves identity policies that are attached to the role.
get /roles/{roleID}/policies
Retrieves identity policies that are attached to the role.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- roleID: required(string)
Role ID.
Example:
aXJuOjRhdGNpY25pc2c6aWFtY29yZTo6OmFjY291bnQvNGF0Y2ljbmlzZw==
Query Parameters
- name: (string)
Policy name. Supports partial match.
Example:
allow-all - page: (number - default: 1)
Page number.
Example:
1 - pageSize: (number - default: 100)
Page size.
Example:
10 - sort: (string - default: irn)
Sorting field.
Example:
name - sortOrder: (one of asc, desc - default: desc)
Sort order.
Example:
asc - source: (one of direct, group)
Filters policies by the attachment source.
direct- policies attached directly to the user.group- policies attached to the group(s) the user is a member of. If the query param is omitted, policies from all sources are returned.Example:
direct
HTTP status code 200
Identity policies attached to the role are successfully retrieved.
Body
Media type: application/json
Type: object
Properties- data: required(array of iam-api-types.IdentityPolicy)
Policy list.
Items: IdentityPolicy
- id: required(string)
Policy ID.
- irn: required(string - pattern: ^[a-zA-Z0-9_\-/:*@.]*$)
Policy IRN.
- name: required(string - pattern: ^[a-zA-Z0-9_\-]*$)
Policy name.
- description: required(string)
Policy description.
- type: required(identity)
Policy type.
- origin: required(one of api, config)
Policy origin.
- version: required(string)
Policy version.
- statements: required(array of iam-api-types.IdentityPolicyStatement)
Policy statements.
Items: IdentityPolicyStatement
- actions: required(array of string)
Actions.
- resources: required(array of string)
Resources.
- description: (string)
Description.
- effect: required(one of allow, deny)
Effect.
- actions: required(array of string)
- poolIDs: (array of string)
Identifiers of the associated pools.
- id: required(string)
- count: required(integer)
Total number of resources.
- page: required(integer)
Page number.
- pageSize: required(integer)
Page size.
Example:
{
"data": [
{
"id": "aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk=",
"irn": "irn:rc73dbh7q0:iamcore:4atcicnisg::policy/allow-all-actions-on-jerry",
"name": "allow-all-actions-on-jerry",
"description": "Allow all actions on Jerry",
"type": "identity",
"origin": "api",
"version": "1.0.0",
"statements": [
{
"description": "Allow all actions on Jerry",
"actions": ["iamcore:user:*"],
"resources": ["irn:rc73dbh7q0:iamcore:4atcicnisg::user/jerry"],
"effect": "allow"
}
],
"poolIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb29sL2Rldg=="
]
}
],
"count": 1,
"page": 0,
"pageSize": 10
}
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Attaches policies to the role.
put /roles/{roleID}/policies/attach
Attaches policies to the role.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- roleID: required(string)
Role ID.
Example:
aXJuOjRhdGNpY25pc2c6aWFtY29yZTo6OmFjY291bnQvNGF0Y2ljbmlzZw==
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
The policies are successfully attached to the role.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.
Detaches policies from the role.
put /roles/{roleID}/policies/detach
Detaches policies from the role.
iamcore supports JWT access tokens for authenticating and authorizing API requests.
URI Parameters
- roleID: required(string)
Role ID.
Example:
aXJuOjRhdGNpY25pc2c6aWFtY29yZTo6OmFjY291bnQvNGF0Y2ljbmlzZw==
Body
Media type: application/json
Type: object
Properties- policyIDs: required(array of string)
Policy IDs.
Example:
{
"policyIDs": [
"aXJuOnJjNzNkYmg3cTA6aWFtY29yZTo0YXRjaWNuaXNnOjpwb2xpY3kvYWxsb3ctYWxsLWFjdGlvbnMtb24tamVycnk="
]
}
HTTP status code 204
The policies are successfully detached from the role.
HTTP status code 400
Invalid request.
HTTP status code 401
Request is not authenticated.
HTTP status code 403
Principal does not have sufficient permissions to perform this operation.
Secured by iamcore
Headers
- Authorization: (string)
Used to send a valid JWT access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid JWT access token. This header is needed only if API authentication is enabled for the service.