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)
scope_name string
scope_description string Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.
scope_type string
customer_uuid string (uuid)
customer_name string
role_name string
role_description string
created_by_full_name string
created_by_username string
created_by_image string (uri)
url string (uri)
uuid string (uuid)
role string (uuid)
created string (date-time)
expires string (date-time)
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
project_name_template string Template for project name. Supports {username}, {email}, {full_name} variables
project_role string (uuid)
user_affiliations any
user_email_patterns any
scope_image string (uri)

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)
scope_name string
scope_description string Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.
scope_type string
customer_uuid string (uuid)
customer_name string
role_name string
role_description string
created_by_full_name string
created_by_username string
created_by_image string (uri)
url string (uri)
uuid string (uuid)
role string (uuid)
created string (date-time)
expires string (date-time)
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
project_name_template string Template for project name. Supports {username}, {email}, {full_name} variables
project_role string (uuid)
user_affiliations any
user_email_patterns any
scope_image string (uri)

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)
scope string
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
project_name_template string Template for project name. Supports {username}, {email}, {full_name} variables
project_role string (uuid)
user_affiliations any
user_email_patterns any

201 -

Field Type Description
scope_uuid string (uuid)
scope_name string
scope_description string Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.
scope_type string
customer_uuid string (uuid)
customer_name string
role_name string
role_description string
created_by_full_name string
created_by_username string
created_by_image string (uri)
url string (uri)
uuid string (uuid)
role string (uuid)
created string (date-time)
expires string (date-time)
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
project_name_template string Template for project name. Supports {username}, {email}, {full_name} variables
project_role string (uuid)
user_affiliations any
user_email_patterns any
scope_image string (uri)

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.

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