Skip to content

User Group Invitations

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/user-group-invitations/ List group invitations
GET /api/user-group-invitations/{uuid}/ Retrieve group invitation
POST /api/user-group-invitations/ Create group invitation
Other Actions
GET /api/user-group-invitations/{uuid}/projects/ List projects for a customer-scoped group invitation
POST /api/user-group-invitations/{uuid}/cancel/ Cancel a group invitation
POST /api/user-group-invitations/{uuid}/submit_request/ Submit a permission request

Core CRUD

List group invitations

Retrieve a list of group invitations. Unauthenticated users can only see public invitations.

1
2
3
4
http \
  GET \
  https://api.example.com/api/user-group-invitations/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.user_group_invitations import user_group_invitations_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = user_group_invitations_list.sync(client=client)

for item in response:
    print(item)
  1. API Source: user_group_invitations_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { userGroupInvitationsList } from 'waldur-js-client';

try {
  const response = await userGroupInvitationsList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
customer_uuid string (uuid)
is_active boolean
is_public boolean
o array Ordering

page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
role_name string
role_uuid string (uuid)
scope_type string

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
scope_uuid string (uuid) UUID of the invitation scope (Customer or Project)
scope_name string Name of the invitation scope
scope_description string Description of the invitation scope
scope_type string Type of the invitation scope (e.g., 'customer', 'project')
customer_uuid string (uuid) UUID of the customer organization
customer_name string Name of the customer organization
role_name string Name of the role being granted (e.g., 'PROJECT.ADMIN')
role_description string Description of the role being granted
created_by_full_name string Full name of the user who created this invitation
created_by_username string Username of the user who created this invitation
created_by_image string (uri) Profile image of the user who created this invitation
url string (uri)
uuid string (uuid)
role string (uuid) UUID of the role to grant to the invited user
created string (date-time)
expires string (date-time) Expiration date and time of the invitation
is_active boolean
is_public boolean Allow non-authenticated users to see and accept this invitation. Only staff can create public invitations.
auto_create_project boolean Create project and grant project permissions instead of customer permissions
auto_approve boolean Automatically approve permission requests from users matching email patterns or affiliations
project_name_template string Template for project name. Supports {username}, {email}, {full_name} variables
project_role string (uuid) UUID of the project role to grant if auto_create_project is enabled
user_affiliations any
user_email_patterns any
user_identity_sources any List of allowed identity sources (identity providers).
scope_image string (uri) Image URL of the invitation scope (Customer or Project)

Retrieve group invitation

Retrieve details of a specific group invitation. Unauthenticated users can only see public invitations.

1
2
3
4
http \
  GET \
  https://api.example.com/api/user-group-invitations/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.user_group_invitations import user_group_invitations_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = user_group_invitations_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: user_group_invitations_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { userGroupInvitationsRetrieve } from 'waldur-js-client';

try {
  const response = await userGroupInvitationsRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type Description
scope_uuid string (uuid) UUID of the invitation scope (Customer or Project)
scope_name string Name of the invitation scope
scope_description string Description of the invitation scope
scope_type string Type of the invitation scope (e.g., 'customer', 'project')
customer_uuid string (uuid) UUID of the customer organization
customer_name string Name of the customer organization
role_name string Name of the role being granted (e.g., 'PROJECT.ADMIN')
role_description string Description of the role being granted
created_by_full_name string Full name of the user who created this invitation
created_by_username string Username of the user who created this invitation
created_by_image string (uri) Profile image of the user who created this invitation
url string (uri)
uuid string (uuid)
role string (uuid) UUID of the role to grant to the invited user
created string (date-time)
expires string (date-time) Expiration date and time of the invitation
is_active boolean
is_public boolean Allow non-authenticated users to see and accept this invitation. Only staff can create public invitations.
auto_create_project boolean Create project and grant project permissions instead of customer permissions
auto_approve boolean Automatically approve permission requests from users matching email patterns or affiliations
project_name_template string Template for project name. Supports {username}, {email}, {full_name} variables
project_role string (uuid) UUID of the project role to grant if auto_create_project is enabled
user_affiliations any
user_email_patterns any
user_identity_sources any List of allowed identity sources (identity providers).
scope_image string (uri) Image URL of the invitation scope (Customer or Project)

Create group invitation

Create a new group invitation, which acts as a template for users to request permissions.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/user-group-invitations/ \
  Authorization:"Token YOUR_API_TOKEN" \
  role="a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  scope="string-value"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.group_invitation_request import GroupInvitationRequest # (1)
from waldur_api_client.api.user_group_invitations import user_group_invitations_create # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = GroupInvitationRequest(
    role="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    scope="string-value"
)
response = user_group_invitations_create.sync(
    client=client,
    body=body_data
)

print(response)
  1. Model Source: GroupInvitationRequest
  2. API Source: user_group_invitations_create
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import { userGroupInvitationsCreate } from 'waldur-js-client';

try {
  const response = await userGroupInvitationsCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "role": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "scope": "string-value"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
role string (uuid) UUID of the role to grant to the invited user
scope string URL of the scope (Customer or Project) for this invitation
Constraints: write-only
is_public boolean Allow non-authenticated users to see and accept this invitation. Only staff can create public invitations.
auto_create_project boolean Create project and grant project permissions instead of customer permissions
auto_approve boolean Automatically approve permission requests from users matching email patterns or affiliations
project_name_template string Template for project name. Supports {username}, {email}, {full_name} variables
project_role string (uuid) UUID of the project role to grant if auto_create_project is enabled
user_affiliations any
user_email_patterns any
user_identity_sources any List of allowed identity sources (identity providers).

201 -

Field Type Description
scope_uuid string (uuid) UUID of the invitation scope (Customer or Project)
scope_name string Name of the invitation scope
scope_description string Description of the invitation scope
scope_type string Type of the invitation scope (e.g., 'customer', 'project')
customer_uuid string (uuid) UUID of the customer organization
customer_name string Name of the customer organization
role_name string Name of the role being granted (e.g., 'PROJECT.ADMIN')
role_description string Description of the role being granted
created_by_full_name string Full name of the user who created this invitation
created_by_username string Username of the user who created this invitation
created_by_image string (uri) Profile image of the user who created this invitation
url string (uri)
uuid string (uuid)
role string (uuid) UUID of the role to grant to the invited user
created string (date-time)
expires string (date-time) Expiration date and time of the invitation
is_active boolean
is_public boolean Allow non-authenticated users to see and accept this invitation. Only staff can create public invitations.
auto_create_project boolean Create project and grant project permissions instead of customer permissions
auto_approve boolean Automatically approve permission requests from users matching email patterns or affiliations
project_name_template string Template for project name. Supports {username}, {email}, {full_name} variables
project_role string (uuid) UUID of the project role to grant if auto_create_project is enabled
user_affiliations any
user_email_patterns any
user_identity_sources any List of allowed identity sources (identity providers).
scope_image string (uri) Image URL of the invitation scope (Customer or Project)

Other Actions

List projects for a customer-scoped group invitation

For a group invitation scoped to a customer, this endpoint lists all projects within that customer.

1
2
3
4
http \
  GET \
  https://api.example.com/api/user-group-invitations/a1b2c3d4-e5f6-7890-abcd-ef1234567890/projects/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.user_group_invitations import user_group_invitations_projects_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = user_group_invitations_projects_list.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

for item in response:
    print(item)
  1. API Source: user_group_invitations_projects_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { userGroupInvitationsProjectsList } from 'waldur-js-client';

try {
  const response = await userGroupInvitationsProjectsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Description
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.

200 -

The response body is an array of objects, where each object has the following structure:

Field Type
uuid string (uuid)
url string (uri)

Cancel a group invitation

Cancels an active group invitation, preventing new permission requests from being created.

1
2
3
4
http \
  POST \
  https://api.example.com/api/user-group-invitations/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.user_group_invitations import user_group_invitations_cancel # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = user_group_invitations_cancel.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: user_group_invitations_cancel
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { userGroupInvitationsCancel } from 'waldur-js-client';

try {
  const response = await userGroupInvitationsCancel({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 - No response body


Submit a permission request

Creates a permission request based on a group invitation for the currently authenticated user. If the invitation has auto_approve enabled and the user matches the required patterns, the request is automatically approved.

1
2
3
4
http \
  POST \
  https://api.example.com/api/user-group-invitations/a1b2c3d4-e5f6-7890-abcd-ef1234567890/submit_request/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.user_group_invitations import user_group_invitations_submit_request # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = user_group_invitations_submit_request.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: user_group_invitations_submit_request
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { userGroupInvitationsSubmitRequest } from 'waldur-js-client';

try {
  const response = await userGroupInvitationsSubmitRequest({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type Description
uuid string UUID of the created permission request
scope_name string Name of the invitation scope
scope_uuid string UUID of the invitation scope
auto_approved boolean Whether the request was automatically approved