Scaleway logo
IAM API

A group (also known as an IAM group) is a grouping of usersOpen in new context and/or applicationsOpen in new context. Creating groups allows you to attach policiesOpen in new context to multiple users and/or applications at the same time.


List groups

GET
https://api.scaleway.com
/iam/v1alpha1/groups

List groups. By default, the groups listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can define additional parameters to filter your query. Use user_ids or application_ids to list all groups certain users or applications belong to.

List groups › query Parameters

order_by
​scaleway.iam.v1alpha1.ListGroupsRequest.OrderBy · enum

Sort order of groups.

Enum values:
created_at_asc
created_at_desc
updated_at_asc
updated_at_desc
name_asc
name_desc
Default: created_at_asc
page
​integer · int32

Requested page number. Value must be greater or equal to 1.

page_size
​integer · uint32

Number of items per page. Value must be between 1 and 100.

organization_id
​string

Filter by Organization ID.

name
​string

Name of group to find.

application_ids
​string[]

Filter by a list of application IDs.

user_ids
​string[]

Filter by a list of user IDs.

group_ids
​string[]

Filter by a list of group IDs.

tag
​string

Filter by tags containing a given string.

List groups › Responses

200

List of groups.

total_count
​integer · uint32

Total count of groups.


Create a group

POST
https://api.scaleway.com
/iam/v1alpha1/groups

Create a new group. You must define the name and organization_id parameters in the request.

Create a group › Request Body

organization_id
​string · required

ID of Organization linked to the group.

name
​string · required

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).

tags
​string[]

Tags associated with the group (maximum of 10 tags).

Create a group › Responses

200
id
​string

ID of the group.

created_at
​string | null · date-time

Date and time of group creation. (RFC 3339 format)

updated_at
​string | null · date-time

Date and time of last group update. (RFC 3339 format)

organization_id
​string

ID of Organization linked to the group.

name
​string

Name of the group.

description
​string

Description of the group.

user_ids
​string[]

IDs of users attached to this group.

application_ids
​string[]

IDs of applications attached to this group.

tags
​string[]

Tags associated to the group.

editable
​boolean

Defines whether or not the group is editable.

deletable
​boolean

Defines whether or not the group is deletable.

managed
​boolean

Defines whether or not the group is managed.

all_users
​boolean

Indicates if the group is the special "All Users" group that contains all users of the organization.

all_applications
​boolean

Indicates if the group is the special "All Applications" group that contains all non-managed applications of the organization.

srn
​string

The SRN of the group.


Get a group

GET
https://api.scaleway.com
/iam/v1alpha1/groups/{group_id}

Retrieve information about a given group, specified by the group_id parameter. The group's full details, including user_ids and application_ids are returned in the response.

Get a group › path Parameters

group_id
​string · required

ID of the group.

Get a group › Responses

200
id
​string

ID of the group.

created_at
​string | null · date-time

Date and time of group creation. (RFC 3339 format)

updated_at
​string | null · date-time

Date and time of last group update. (RFC 3339 format)

organization_id
​string

ID of Organization linked to the group.

name
​string

Name of the group.

description
​string

Description of the group.

user_ids
​string[]

IDs of users attached to this group.

application_ids
​string[]

IDs of applications attached to this group.

tags
​string[]

Tags associated to the group.

editable
​boolean

Defines whether or not the group is editable.

deletable
​boolean

Defines whether or not the group is deletable.

managed
​boolean

Defines whether or not the group is managed.

all_users
​boolean

Indicates if the group is the special "All Users" group that contains all users of the organization.

all_applications
​boolean

Indicates if the group is the special "All Applications" group that contains all non-managed applications of the organization.

srn
​string

The SRN of the group.


Delete a group

DELETE
https://api.scaleway.com
/iam/v1alpha1/groups/{group_id}

Delete a group. Note that this action is irreversible and could delete permissions for group members. Policies attached to users and applications via this group will no longer apply.

Delete a group › path Parameters

group_id
​string · required

ID of the group to delete.

Delete a group › Responses

No data returned

Update a group

PATCH
https://api.scaleway.com
/iam/v1alpha1/groups/{group_id}

Update the parameters of group, including name and description.

Update a group › path Parameters

group_id
​string · required

ID of the group to update.

Update a group › Request Body

name
​string | null

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

description
​string | null

New description for the group (max length is 200 chars).

tags
​array | null

New tags for the group (maximum of 10 tags).

Update a group › Responses

200
id
​string

ID of the group.

created_at
​string | null · date-time

Date and time of group creation. (RFC 3339 format)

updated_at
​string | null · date-time

Date and time of last group update. (RFC 3339 format)

organization_id
​string

ID of Organization linked to the group.

name
​string

Name of the group.

description
​string

Description of the group.

user_ids
​string[]

IDs of users attached to this group.

application_ids
​string[]

IDs of applications attached to this group.

tags
​string[]

Tags associated to the group.

editable
​boolean

Defines whether or not the group is editable.

deletable
​boolean

Defines whether or not the group is deletable.

managed
​boolean

Defines whether or not the group is managed.

all_users
​boolean

Indicates if the group is the special "All Users" group that contains all users of the organization.

all_applications
​boolean

Indicates if the group is the special "All Applications" group that contains all non-managed applications of the organization.

srn
​string

The SRN of the group.


Add a user or an application to a group

POST
https://api.scaleway.com
/iam/v1alpha1/groups/{group_id}/add-member

Add a user or an application to a group. You can specify a user_id and application_id in the body of your request. Note that you can only add one of each per request.

Add a user or an application to a group › path Parameters

group_id
​string · required

ID of the group.

Add a user or an application to a group › Request Body

user_id
​string | null

ID of the user to add.

application_id
​string | null

ID of the application to add.

Add a user or an application to a group › Responses

200
id
​string

ID of the group.

created_at
​string | null · date-time

Date and time of group creation. (RFC 3339 format)

updated_at
​string | null · date-time

Date and time of last group update. (RFC 3339 format)

organization_id
​string

ID of Organization linked to the group.

name
​string

Name of the group.

description
​string

Description of the group.

user_ids
​string[]

IDs of users attached to this group.

application_ids
​string[]

IDs of applications attached to this group.

tags
​string[]

Tags associated to the group.

editable
​boolean

Defines whether or not the group is editable.

deletable
​boolean

Defines whether or not the group is deletable.

managed
​boolean

Defines whether or not the group is managed.

all_users
​boolean

Indicates if the group is the special "All Users" group that contains all users of the organization.

all_applications
​boolean

Indicates if the group is the special "All Applications" group that contains all non-managed applications of the organization.

srn
​string

The SRN of the group.


Add multiple users and applications to a group

POST
https://api.scaleway.com
/iam/v1alpha1/groups/{group_id}/add-members

Add multiple users and applications to a group in a single call. You can specify an array of user_ids and application_ids. Note that any existing users and applications in the group will remain. To add new users/applications and delete pre-existing ones, use the Overwrite users and applications of a group method.

Add multiple users and applications to a group › path Parameters

group_id
​string · required

ID of the group.

Add multiple users and applications to a group › Request Body

user_ids
​string[]

IDs of the users to add.

application_ids
​string[]

IDs of the applications to add.

Add multiple users and applications to a group › Responses

200
id
​string

ID of the group.

created_at
​string | null · date-time

Date and time of group creation. (RFC 3339 format)

updated_at
​string | null · date-time

Date and time of last group update. (RFC 3339 format)

organization_id
​string

ID of Organization linked to the group.

name
​string

Name of the group.

description
​string

Description of the group.

user_ids
​string[]

IDs of users attached to this group.

application_ids
​string[]

IDs of applications attached to this group.

tags
​string[]

Tags associated to the group.

editable
​boolean

Defines whether or not the group is editable.

deletable
​boolean

Defines whether or not the group is deletable.

managed
​boolean

Defines whether or not the group is managed.

all_users
​boolean

Indicates if the group is the special "All Users" group that contains all users of the organization.

all_applications
​boolean

Indicates if the group is the special "All Applications" group that contains all non-managed applications of the organization.

srn
​string

The SRN of the group.


Overwrite users and applications of a group

PUT
https://api.scaleway.com
/iam/v1alpha1/groups/{group_id}/members

Overwrite users and applications configuration in a group. Any information that you add using this command will overwrite the previous configuration.

Overwrite users and applications of a group › path Parameters

group_id
​string · required

Overwrite users and applications of a group › Request Body

user_ids
​string[] · required
application_ids
​string[] · required

Overwrite users and applications of a group › Responses

200
id
​string

ID of the group.

created_at
​string | null · date-time

Date and time of group creation. (RFC 3339 format)

updated_at
​string | null · date-time

Date and time of last group update. (RFC 3339 format)

organization_id
​string

ID of Organization linked to the group.

name
​string

Name of the group.

description
​string

Description of the group.

user_ids
​string[]

IDs of users attached to this group.

application_ids
​string[]

IDs of applications attached to this group.

tags
​string[]

Tags associated to the group.

editable
​boolean

Defines whether or not the group is editable.

deletable
​boolean

Defines whether or not the group is deletable.

managed
​boolean

Defines whether or not the group is managed.

all_users
​boolean

Indicates if the group is the special "All Users" group that contains all users of the organization.

all_applications
​boolean

Indicates if the group is the special "All Applications" group that contains all non-managed applications of the organization.

srn
​string

The SRN of the group.


Remove a user or an application from a group

POST
https://api.scaleway.com
/iam/v1alpha1/groups/{group_id}/remove-member

Remove a user or an application from a group. You can specify a user_id and application_id in the body of your request. Note that you can only remove one of each per request. Removing a user from a group means that any permissions given to them via the group (i.e. from an attached policy) will no longer apply. Be sure you want to remove these permissions from the user before proceeding.

Remove a user or an application from a group › path Parameters

group_id
​string · required

ID of the group.

Remove a user or an application from a group › Request Body

user_id
​string | null

ID of the user to remove.

application_id
​string | null

ID of the application to remove.

Remove a user or an application from a group › Responses

200
id
​string

ID of the group.

created_at
​string | null · date-time

Date and time of group creation. (RFC 3339 format)

updated_at
​string | null · date-time

Date and time of last group update. (RFC 3339 format)

organization_id
​string

ID of Organization linked to the group.

name
​string

Name of the group.

description
​string

Description of the group.

user_ids
​string[]

IDs of users attached to this group.

application_ids
​string[]

IDs of applications attached to this group.

tags
​string[]

Tags associated to the group.

editable
​boolean

Defines whether or not the group is editable.

deletable
​boolean

Defines whether or not the group is deletable.

managed
​boolean

Defines whether or not the group is managed.

all_users
​boolean

Indicates if the group is the special "All Users" group that contains all users of the organization.

all_applications
​boolean

Indicates if the group is the special "All Applications" group that contains all non-managed applications of the organization.

srn
​string

The SRN of the group.