IAM APIv1alpha1

Download OpenAPI

Introduction

The IAM API allows you to manage SSH keys, Groups, API keys and more to come.

List SSH keys

GET
/iam/v1alpha1/ssh-keys
Query Parameters

order_by
string
Sort order of SSH keys. Possible values are created_at_asc, created_at_desc, updated_at_asc, updated_at_desc, name_asc and name_desc. The default value is created_at_asc.

page
integer
Requested page number. Value must be greater or equals to 1. The default value is 1.

page_size
integer
Number of items per page. Value must be between 1 and 100. The default value is 20.

organization_id
nullable string
Filter by organization ID.

name
nullable string
Name of group to find.

project_id
nullable string
Filter by project ID.

disabled
nullable boolean
Filter out disabled SSH keys or not.
200 Response

ssh_keys
array
List of SSH keys.

total_count
integer
Total count of SSH keys.
Response Example
POST
/iam/v1alpha1/ssh-keys
Body

name
required string
The name of the SSH key. Max length is 1000.

public_key
required string
SSH public key. Currently ssh-rsa, ssh-dss (DSA), ssh-ed25519 and ecdsa keys with NIST curves are supported. Max length is 65000.

project_id
required string
Project owning the resource.
Request Example
200 Response

id
string
ID of SSH key.

name
string
Name of SSH key.

public_key
string
Public key of SSH key.

fingerprint
string
Fingerprint of SSH key.

created_at
nullable string
Creation date of SSH key (RFC 3339 format).

updated_at
nullable string
Last update date of SSH key (RFC 3339 format).

organization_id
string
ID of organization linked to the SSH key.

project_id
string
ID of project linked to the SSH key.

disabled
boolean
SSH key status.
Response Example
GET
/iam/v1alpha1/ssh-keys/{ssh_key_id}
Path Parameters

ssh_key_id
required string
The ID of the SSH key.
200 Response

id
string
ID of SSH key.

name
string
Name of SSH key.

public_key
string
Public key of SSH key.

fingerprint
string
Fingerprint of SSH key.

created_at
nullable string
Creation date of SSH key (RFC 3339 format).

updated_at
nullable string
Last update date of SSH key (RFC 3339 format).

organization_id
string
ID of organization linked to the SSH key.

project_id
string
ID of project linked to the SSH key.

disabled
boolean
SSH key status.
Response Example
PATCH
/iam/v1alpha1/ssh-keys/{ssh_key_id}
Path Parameters

ssh_key_id
required string
Body

name
nullable string
Name of the SSH key. Max length is 1000.

disabled
nullable boolean
Enable or disable the SSH key.
Request Example
200 Response

id
string
ID of SSH key.

name
string
Name of SSH key.

public_key
string
Public key of SSH key.

fingerprint
string
Fingerprint of SSH key.

created_at
nullable string
Creation date of SSH key (RFC 3339 format).

updated_at
nullable string
Last update date of SSH key (RFC 3339 format).

organization_id
string
ID of organization linked to the SSH key.

project_id
string
ID of project linked to the SSH key.

disabled
boolean
SSH key status.
Response Example
DELETE
/iam/v1alpha1/ssh-keys/{ssh_key_id}
Path Parameters

ssh_key_id
required string
204 Response

Empty response
GET
/iam/v1alpha1/groups
Query Parameters

order_by
string
Sort order of groups. Possible values are created_at_asc, created_at_desc, updated_at_asc, updated_at_desc, name_asc and name_desc. The default value is created_at_asc.

page
integer
Requested page number. Value must be greater or equals to 1. The default value is 1.

page_size
integer
Number of items per page. Value must be between 1 and 100. The default value is 20.

organization_id
nullable string
Filter by organization ID.

name
nullable string
Name of group to find.

application_ids
array
Filter out by a list of application ID.

user_ids
array
Filter out by a list of user ID.

group_ids
array
Filter out by a list of group ID.
200 Response

groups
array
List of groups.

total_count
integer
Total count of groups.
Response Example
POST
/iam/v1alpha1/groups
Body

organization_id
required string
ID of organization linked to the group.

name
required string
Name of the group to create (max length is 64 chars). MUST be unique inside an organization.

description
string
Description of the group to create (max length is 200 chars).
Request Example
200 Response

id
string
ID of group.

created_at
nullable string
Creation date and time of group (RFC 3339 format).

updated_at
nullable string
Last update date and time of group (RFC 3339 format).

organization_id
string
ID of organization linked to the group.

name
string
Name of group.

description
string
Description of the group.

user_ids
array
IDs of users attached to this group.

application_ids
array
IDs of applications attached to this group.
Response Example
GET
/iam/v1alpha1/groups/{group_id}
Path Parameters

group_id
required string
ID of group.
200 Response

id
string
ID of group.

created_at
nullable string
Creation date and time of group (RFC 3339 format).

updated_at
nullable string
Last update date and time of group (RFC 3339 format).

organization_id
string
ID of organization linked to the group.

name
string
Name of group.

description
string
Description of the group.

user_ids
array
IDs of users attached to this group.

application_ids
array
IDs of applications attached to this group.
Response Example
PATCH
/iam/v1alpha1/groups/{group_id}
Path Parameters

group_id
required string
ID of group to update.
Body

name
nullable string
New name for the group (max length is 64 chars). MUST be unique inside an organization.

description
nullable string
New description for the group (max length is 200 chars).
Request Example
200 Response

id
string
ID of group.

created_at
nullable string
Creation date and time of group (RFC 3339 format).

updated_at
nullable string
Last update date and time of group (RFC 3339 format).

organization_id
string
ID of organization linked to the group.

name
string
Name of group.

description
string
Description of the group.

user_ids
array
IDs of users attached to this group.

application_ids
array
IDs of applications attached to this group.
Response Example
DELETE
/iam/v1alpha1/groups/{group_id}
Path Parameters

group_id
required string
ID of group to delete.
204 Response

Empty response
POST
/iam/v1alpha1/groups/{group_id}/add-member
Path Parameters

group_id
required string
ID of group.
Body

user_id
string
ID of the user to add. Only one of user_id and application_id may be set.

application_id
string
ID of the application to add. Only one of user_id and application_id may be set.
Request Example
200 Response

id
string
ID of group.

created_at
nullable string
Creation date and time of group (RFC 3339 format).

updated_at
nullable string
Last update date and time of group (RFC 3339 format).

organization_id
string
ID of organization linked to the group.

name
string
Name of group.

description
string
Description of the group.

user_ids
array
IDs of users attached to this group.

application_ids
array
IDs of applications attached to this group.
Response Example
PUT
/iam/v1alpha1/groups/{group_id}/members
Path Parameters

group_id
required string
Body

user_ids
required array

application_ids
required array
Request Example
200 Response

id
string
ID of group.

created_at
nullable string
Creation date and time of group (RFC 3339 format).

updated_at
nullable string
Last update date and time of group (RFC 3339 format).

organization_id
string
ID of organization linked to the group.

name
string
Name of group.

description
string
Description of the group.

user_ids
array
IDs of users attached to this group.

application_ids
array
IDs of applications attached to this group.
Response Example
POST
/iam/v1alpha1/groups/{group_id}/remove-member
Path Parameters

group_id
required string
ID of group.
Body

user_id
string
ID of the user to remove. Only one of user_id and application_id may be set.

application_id
string
ID of the application to remove. Only one of user_id and application_id may be set.
Request Example
200 Response

id
string
ID of group.

created_at
nullable string
Creation date and time of group (RFC 3339 format).

updated_at
nullable string
Last update date and time of group (RFC 3339 format).

organization_id
string
ID of organization linked to the group.

name
string
Name of group.

description
string
Description of the group.

user_ids
array
IDs of users attached to this group.

application_ids
array
IDs of applications attached to this group.
Response Example
GET
/iam/v1alpha1/api-keys
Query Parameters

order_by
string
Criteria for sorting results. Possible values are created_at_asc, created_at_desc, updated_at_asc, updated_at_desc, expires_at_asc, expires_at_desc, access_key_asc and access_key_desc. The default value is created_at_asc.

page
integer
Number of page. Value must be greater or equals to 1. The default value is 1.

page_size
integer
Number of results per page. Value must be between 1 and 100. The default value is 20.

organization_id
required string
ID of organization.

application_id
nullable string
ID of an application bearer. Only one of application_id and user_id may be set.

user_id
nullable string
ID of a user bearer. Only one of application_id and user_id may be set.

editable
nullable boolean
Filter out editable API keys or not.
200 Response

api_keys
array
List of API keys.

total_count
integer
Total count of API Keys.
Response Example
POST
/iam/v1alpha1/api-keys
Body

application_id
string
ID of application principal. Only one of application_id and user_id may be set.

user_id
string
ID of user principal. Only one of application_id and user_id may be set.

expires_at
nullable string
Expiration date of the API key (RFC 3339 format).

default_project_id
nullable string
The default project ID to use with object storage.

description
string
The description of the API key (max length is 200 chars).
Request Example
200 Response

access_key
string
Access key of API key.

secret_key
nullable string
Secret key of API Key.

application_id
string
ID of application bearer. Only one of application_id and user_id may be set.

user_id
string
ID of user bearer. Only one of application_id and user_id may be set.

description
string
Description of API key.

created_at
nullable string
Creation date and time of API key (RFC 3339 format).

updated_at
nullable string
Last update date and time of API key (RFC 3339 format).

expires_at
nullable string
Expiration date and time of API key (RFC 3339 format).

default_project_id
string
The default project ID specified for this API key.

editable
boolean
Whether or not the API key is editable.

creation_ip
string
IP Address of the device which created the API key.
Response Example
GET
/iam/v1alpha1/api-keys/{access_key}
Path Parameters

access_key
required string
Access key to search for.
200 Response

access_key
string
Access key of API key.

secret_key
nullable string
Secret key of API Key.

application_id
string
ID of application bearer. Only one of application_id and user_id may be set.

user_id
string
ID of user bearer. Only one of application_id and user_id may be set.

description
string
Description of API key.

created_at
nullable string
Creation date and time of API key (RFC 3339 format).

updated_at
nullable string
Last update date and time of API key (RFC 3339 format).

expires_at
nullable string
Expiration date and time of API key (RFC 3339 format).

default_project_id
string
The default project ID specified for this API key.

editable
boolean
Whether or not the API key is editable.

creation_ip
string
IP Address of the device which created the API key.
Response Example
PATCH
/iam/v1alpha1/api-keys/{access_key}
Path Parameters

access_key
required string
Access key to update.
Body

default_project_id
nullable string
The new default project ID to set.

description
nullable string
The new description to update.
Request Example
200 Response

access_key
string
Access key of API key.

secret_key
nullable string
Secret key of API Key.

application_id
string
ID of application bearer. Only one of application_id and user_id may be set.

user_id
string
ID of user bearer. Only one of application_id and user_id may be set.

description
string
Description of API key.

created_at
nullable string
Creation date and time of API key (RFC 3339 format).

updated_at
nullable string
Last update date and time of API key (RFC 3339 format).

expires_at
nullable string
Expiration date and time of API key (RFC 3339 format).

default_project_id
string
The default project ID specified for this API key.

editable
boolean
Whether or not the API key is editable.

creation_ip
string
IP Address of the device which created the API key.
Response Example
DELETE
/iam/v1alpha1/api-keys/{access_key}
Path Parameters

access_key
required string
Access key to delete.
204 Response

Empty response
GET
/iam/v1alpha1/users
Query Parameters

order_by
string
Criteria for sorting results. Possible values are created_at_asc, created_at_desc, updated_at_asc, updated_at_desc, email_asc, email_desc, last_login_asc and last_login_desc. The default value is created_at_asc.

page_size
integer
Number of results per page. Value must be between 1 and 100. The default value is 20.

page
integer
Number of page. Value must be greater or equals to 1. The default value is 1.

organization_id
required string
ID of organization to filter.

user_ids
array
Filter out by a list of ID.
200 Response

users
array
List of users.

total_count
integer
Total count of users.
Response Example
GET
/iam/v1alpha1/users/{user_id}
Path Parameters

user_id
required string
ID of user to find.
200 Response

id
string
ID of user.

email
string
Email of user.

created_at
nullable string
Creation date of user (RFC 3339 format).

updated_at
nullable string
Last update date of user (RFC 3339 format).

organization_id
string
ID of organization.

deletable
boolean
Deletion status of user. Owner user cannot be deleted.

last_login_at
nullable string
Last login date (RFC 3339 format).

type
string
Type of the user. Possible values are unknown_type, guest and owner. The default value is unknown_type.

two_factor_enabled
boolean
2FA enabled.

status
string
Status of invitation for the user. Possible values are unknown_status, invitation_pending and activated. The default value is unknown_status.
Response Example
DELETE
/iam/v1alpha1/users/{user_id}
Path Parameters

user_id
required string
ID of user to delete.
204 Response

Empty response
GET
/iam/v1alpha1/applications
Query Parameters

order_by
string
Criteria for sorting results. Possible values are created_at_asc, created_at_desc, updated_at_asc, updated_at_desc, name_asc and name_desc. The default value is created_at_asc.

page_size
integer
Number of results per page. Value must be between 1 and 100. The default value is 20.

page
integer
Number of page. Value must be greater to 1. The default value is 1.

name
nullable string
Name of application to filter.

organization_id
required string
ID of organization to filter.

editable
nullable boolean
Filter out editable applications or not.

application_ids
array
Filter out by a list of ID.
200 Response

applications
array
List of applications.

total_count
integer
Total count of applications.
Response Example
POST
/iam/v1alpha1/applications
Body

name
required string
Name of application to create (max length is 64 chars).

organization_id
string
ID of organization.

description
string
Description of application (max length is 200 chars).
Request Example
200 Response

id
string
ID of application.

name
string
Name of application.

description
string
Description of the application.

created_at
nullable string
Creation date of application (RFC 3339 format).

updated_at
nullable string
Last update date of application (RFC 3339 format).

organization_id
string
ID of organization.

editable
boolean
Whether or not the application is editable.

nb_api_keys
integer
Number of API keys owned by the application.
Response Example
GET
/iam/v1alpha1/applications/{application_id}
Path Parameters

application_id
required string
ID of application to find.
200 Response

id
string
ID of application.

name
string
Name of application.

description
string
Description of the application.

created_at
nullable string
Creation date of application (RFC 3339 format).

updated_at
nullable string
Last update date of application (RFC 3339 format).

organization_id
string
ID of organization.

editable
boolean
Whether or not the application is editable.

nb_api_keys
integer
Number of API keys owned by the application.
Response Example
PATCH
/iam/v1alpha1/applications/{application_id}
Path Parameters

application_id
required string
ID of application to update.
Body

name
nullable string
New name of application (max length is 64 chars).

description
nullable string
New description of application (max length is 200 chars).
Request Example
200 Response

id
string
ID of application.

name
string
Name of application.

description
string
Description of the application.

created_at
nullable string
Creation date of application (RFC 3339 format).

updated_at
nullable string
Last update date of application (RFC 3339 format).

organization_id
string
ID of organization.

editable
boolean
Whether or not the application is editable.

nb_api_keys
integer
Number of API keys owned by the application.
Response Example
DELETE
/iam/v1alpha1/applications/{application_id}
Path Parameters

application_id
required string
ID of application to delete.
204 Response

Empty response
GET
/iam/v1alpha1/policies
Query Parameters

order_by
string
Criteria for sorting results. Possible values are policy_name_asc, policy_name_desc, created_at_asc and created_at_desc. The default value is created_at_asc.

page_size
integer
Number of results per page. Value must be between 1 and 100. The default value is 20.

page
integer
Number of page. Value must be greater to 1. The default value is 1.

organization_id
required string
ID of organization to filter.

editable
nullable boolean
Filter out editable policies or not.

user_ids
array
Filter out by a list of user ID.

group_ids
array
Filter out by a list of group ID.

application_ids
array
Filter out by a list of application ID.

no_principal
nullable boolean
True when the policy do not belong to any principal.

policy_name
nullable string
Name of policy to fetch.
200 Response

policies
array
List of policies.

total_count
integer
Total count of policies.
Response Example
POST
/iam/v1alpha1/policies
Body

name
required string
Name of policy to create (max length is 64 chars).

description
string
Description of policy to create (max length is 200 chars).

organization_id
string
ID of organization.

rules
array
Rules of the policy to create.

user_id
string
ID of user, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

group_id
string
ID of group, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

application_id
string
ID of application, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

no_principal
boolean
True when the policy do not belong to any principal. Only one of user_id, group_id, application_id and no_principal may be set.
Request Example
200 Response

id
string
Id of policy.

name
string
Name of policy.

description
string
Description of policy.

organization_id
string
Organization ID of policy.

created_at
nullable string
Creation date and time of policy (RFC 3339 format).

updated_at
nullable string
Last update date and time of policy (RFC 3339 format).

editable
boolean
Editable status of policy.

nb_rules
integer
Number of rules of policy.

nb_scopes
integer
Number of scopes of policy.

nb_permission_sets
integer
Number of permission sets of policy.

user_id
string
ID of user, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

group_id
string
ID of group, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

application_id
string
ID of application, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

no_principal
boolean
True when the policy do not belong to any principal. Only one of user_id, group_id, application_id and no_principal may be set.
Response Example
GET
/iam/v1alpha1/policies/{policy_id}
Path Parameters

policy_id
required string
Id of policy to search.
200 Response

id
string
Id of policy.

name
string
Name of policy.

description
string
Description of policy.

organization_id
string
Organization ID of policy.

created_at
nullable string
Creation date and time of policy (RFC 3339 format).

updated_at
nullable string
Last update date and time of policy (RFC 3339 format).

editable
boolean
Editable status of policy.

nb_rules
integer
Number of rules of policy.

nb_scopes
integer
Number of scopes of policy.

nb_permission_sets
integer
Number of permission sets of policy.

user_id
string
ID of user, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

group_id
string
ID of group, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

application_id
string
ID of application, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

no_principal
boolean
True when the policy do not belong to any principal. Only one of user_id, group_id, application_id and no_principal may be set.
Response Example
PATCH
/iam/v1alpha1/policies/{policy_id}
Path Parameters

policy_id
required string
Id of policy to update.
Body

name
nullable string
New name of policy (max length is 64 chars).

description
nullable string
New description of policy (max length is 200 chars).

user_id
nullable string
New ID of user, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

group_id
nullable string
New ID of group, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

application_id
nullable string
New ID of application, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

no_principal
nullable boolean
True when the policy do not belong to any principal. Only one of user_id, group_id, application_id and no_principal may be set.
Request Example
200 Response

id
string
Id of policy.

name
string
Name of policy.

description
string
Description of policy.

organization_id
string
Organization ID of policy.

created_at
nullable string
Creation date and time of policy (RFC 3339 format).

updated_at
nullable string
Last update date and time of policy (RFC 3339 format).

editable
boolean
Editable status of policy.

nb_rules
integer
Number of rules of policy.

nb_scopes
integer
Number of scopes of policy.

nb_permission_sets
integer
Number of permission sets of policy.

user_id
string
ID of user, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

group_id
string
ID of group, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

application_id
string
ID of application, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

no_principal
boolean
True when the policy do not belong to any principal. Only one of user_id, group_id, application_id and no_principal may be set.
Response Example
DELETE
/iam/v1alpha1/policies/{policy_id}
Path Parameters

policy_id
required string
Id of policy to delete.
204 Response

Empty response
GET
/iam/v1alpha1/rules
Query Parameters

policy_id
required string
Id of policy to search.

page_size
integer
Number of results per page. Value must be between 1 and 100. The default value is 20.

page
integer
Number of page. Value must be greater to 1. The default value is 1.
200 Response

rules
array
Rules of the policy.

total_count
integer
Total count of rules.
Response Example
PUT
/iam/v1alpha1/rules
Body

policy_id
required string
Id of policy to update.

rules
required array
Rules of the policy to set.
Request Example
200 Response

rules
array
Rules of policy.
Response Example
GET
/iam/v1alpha1/permission-sets
Query Parameters

order_by
string
Criteria for sorting results. Possible values are name_asc, name_desc, created_at_asc and created_at_desc. The default value is created_at_asc.

page_size
integer
Number of results per page. Value must be between 1 and 100. The default value is 20.

page
integer
Number of page. Value must be greater to 1. The default value is 1.

organization_id
required string
Filter by organization ID.
200 Response

permission_sets
array
List of permission sets.

total_count
integer
Total count of permission sets.
Response Example

MISC methods

POST
/iam/v1alpha1/policies/{policy_id}/clone
Path Parameters

policy_id
required string
Body

Request Example
200 Response

id
string
Id of policy.

name
string
Name of policy.

description
string
Description of policy.

organization_id
string
Organization ID of policy.

created_at
nullable string
Creation date and time of policy (RFC 3339 format).

updated_at
nullable string
Last update date and time of policy (RFC 3339 format).

editable
boolean
Editable status of policy.

nb_rules
integer
Number of rules of policy.

nb_scopes
integer
Number of scopes of policy.

nb_permission_sets
integer
Number of permission sets of policy.

user_id
string
ID of user, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

group_id
string
ID of group, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

application_id
string
ID of application, owner of the policy. Only one of user_id, group_id, application_id and no_principal may be set.

no_principal
boolean
True when the policy do not belong to any principal. Only one of user_id, group_id, application_id and no_principal may be set.
Response Example