Skip to content

Marketplace Service Providers

Operations Summary

Method Endpoint Description
GET /api/marketplace-service-providers/{service_provider_uuid}/course_accounts/ List course project accounts for a service provider
GET /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/ List customer projects of a service provider
GET /api/marketplace-service-providers/{service_provider_uuid}/customers/ List customers of a service provider
GET /api/marketplace-service-providers/{service_provider_uuid}/keys/ List SSH keys of a service provider
GET /api/marketplace-service-providers/ List service providers
GET /api/marketplace-service-providers/{uuid}/list_users/ List users and their roles in a scope
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/ List offerings of a service provider
GET /api/marketplace-service-providers/{service_provider_uuid}/project_permissions/ List project permissions of a service provider
GET /api/marketplace-service-providers/{service_provider_uuid}/project_service_accounts/ List project service accounts for a service provider
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/ List projects of a service provider
GET /api/marketplace-service-providers/{uuid}/ Retrieve a service provider
GET /api/marketplace-service-providers/{uuid}/revenue/ Get service provider revenue
GET /api/marketplace-service-providers/{uuid}/robot_account_customers/ List customers with robot accounts
GET /api/marketplace-service-providers/{uuid}/robot_account_projects/ List projects with robot accounts
GET /api/marketplace-service-providers/{uuid}/stat/ Get service provider statistics
GET /api/marketplace-service-providers/{service_provider_uuid}/user_customers/ List customers of a specific user within a service provider's scope
GET /api/marketplace-service-providers/{service_provider_uuid}/users/ List users of a service provider
GET /api/marketplace-service-providers/{uuid}/api_secret_code/ Get service provider API secret code
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/checklists_summary/ Get summary of compliance checklists
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/compliance_overview/ Get compliance overview for a service provider
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/offering_users/ List offering users' compliance status
POST /api/marketplace-service-providers/{uuid}/add_user/ Grant a role to a user
POST /api/marketplace-service-providers/ Create a service provider
POST /api/marketplace-service-providers/{uuid}/delete_user/ Revoke a role from a user
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/ Set offering username for a user
POST /api/marketplace-service-providers/{uuid}/update_user/ Update a user's role expiration
POST /api/marketplace-service-providers/{uuid}/api_secret_code/ Generate new service provider API secret code
PUT /api/marketplace-service-providers/{uuid}/ Update a service provider
PATCH /api/marketplace-service-providers/{uuid}/ Partially update a service provider
DELETE /api/marketplace-service-providers/{uuid}/ Delete a service provider

List course project accounts for a service provider

Returns a paginated list of course project accounts that have access to resources managed by the provider.

1
2
3
    This includes:
    - Projects with active resources of the service provider.
    - Course accounts with non-blank users.
1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/course_accounts/ \
  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.marketplace_service_providers import marketplace_service_providers_course_accounts_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersCourseAccountsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
email string Email contains
o array Ordering

page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project_end_date_after string (date) Project end date range
project_end_date_before string (date) Project end date range
project_start_date_after string (date) Project start date range
project_start_date_before string (date) Project start date range
project_uuid string (uuid) Project UUID
state array Course account state

username string Username

200 -

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

Field Type
url string (uri)
uuid string (uuid)
created string (date-time)
modified string (date-time)
project string (uuid)
project_uuid string (uuid)
project_name string
project_slug string
project_start_date string (date)
project_end_date string (date)
user_uuid string (uuid)
username string
customer_uuid string (uuid)
customer_name string
state any
email string (email)
description string
error_message string
error_traceback string

List customer projects of a service provider

Returns a paginated list of projects belonging to a specific customer that have consumed resources from the specified service provider.

1
2
3
4
5
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/customer_projects/ \
  Authorization:"Token YOUR_API_TOKEN" \
  project_customer_uuid=="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_customer_projects_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersCustomerProjectsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  query: {
    "project_customer_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Required Description
backend_id string
can_admin boolean Return a list of projects where current user is admin.
can_manage boolean Return a list of projects where current user is manager or a customer owner.
conceal_finished_projects boolean Conceal finished projects
created string (date-time) Created after
customer array Multiple values may be separated by commas.
customer_abbreviation string Customer abbreviation
customer_name string Customer name
customer_native_name string Customer native name
description string Description
field array
is_removed boolean Is removed
modified string (date-time) Modified after
name string Name
name_exact string Name (exact)
o array Ordering

page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project_customer_uuid string (uuid) UUID of the customer to filter projects by.
query string Filter by name, slug, UUID, backend ID or resource effective ID
slug string Slug

200 -

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

Field Type Description
uuid string (uuid)
name string
description string
end_date string (date) The date is inclusive. Once reached, all project resource will be scheduled for termination.
resources_count integer
users_count integer
billing_price_estimate any

List customers of a service provider

Returns a paginated list of customers who have consumed resources from the specified service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/customers/ \
  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.marketplace_service_providers import marketplace_service_providers_customers_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersCustomersList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
abbreviation string Abbreviation
agreement_number string
archived boolean
backend_id string
contact_details string Contact details
field array
name string Name
name_exact string Name (exact)
native_name string Native name
organization_group_name string Organization group name
organization_group_uuid array Organization group UUID
owned_by_current_user boolean Return a list of customers where current user is owner.
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
query string Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number
registration_code string

200 -

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

Field Type
uuid string (uuid)
name string
slug string
abbreviation string
phone_number string
email string (email)
payment_profiles array of objects
payment_profiles.uuid string (uuid)
payment_profiles.url string (uri)
payment_profiles.name string
payment_profiles.organization_uuid string (uuid)
payment_profiles.organization string (uri)
payment_profiles.attributes object
payment_profiles.attributes.end_date string
payment_profiles.attributes.agreement_number string
payment_profiles.attributes.contract_sum integer
payment_profiles.payment_type string
payment_profiles.payment_type_display string
payment_profiles.is_active boolean
billing_price_estimate any
projects_count integer
users_count integer
projects array of objects
projects.uuid string (uuid)
projects.name string
projects.image string (uri)
users array of objects
users.uuid string (uuid)
users.full_name string
users.email string (email)
users.image string (uri)

List SSH keys of a service provider

Returns a paginated list of SSH public keys for all users who have consumed resources from the specified service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/keys/ \
  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.marketplace_service_providers import marketplace_service_providers_keys_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersKeysList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
created string (date-time) Created after
field array
fingerprint_md5 string
fingerprint_sha256 string
fingerprint_sha512 string
is_shared boolean
modified string (date-time) Modified after
name string Name
name_exact string Name (exact)
o array Ordering

page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
user_uuid string (uuid) User UUID
uuid string (uuid) UUID

200 -

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

Field Type
url string (uri)
uuid string (uuid)
name string
public_key string
fingerprint_md5 string
fingerprint_sha256 string
fingerprint_sha512 string
user_uuid string (uuid)
is_shared boolean
type string

List service providers

Returns a paginated list of service providers.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/ \
  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.marketplace_service_providers import marketplace_service_providers_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
customer string Customer URL
customer_keyword string Customer keyword (name, abbreviation or native name)
customer_uuid string (uuid) Customer UUID
field array
o array Ordering

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 Description
url string (uri)
uuid string (uuid)
created string (date-time)
description string
enable_notifications boolean
customer string (uri)
customer_name string
customer_uuid string (uuid)
customer_image string (uri)
customer_abbreviation string
customer_slug string
customer_native_name string
customer_country string
image string (uri)
organization_groups array of objects
organization_groups.uuid string (uuid)
organization_groups.url string (uri)
organization_groups.name string
organization_groups.parent_uuid string (uuid) UUID of the parent organization group
organization_groups.parent_name string Name of the parent organization group
organization_groups.parent string (uri)
organization_groups.customers_count integer Number of customers in this organization group
offering_count integer

List users and their roles in a scope

Retrieves a list of users who have a role within a specific scope (e.g., a project or an organization). The list can be filtered by user details or role.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/list_users/ \
  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.marketplace_service_providers import marketplace_service_providers_list_users_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersListUsersList({
  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
field array Fields to include in response
full_name string User full name
native_name string User native name
o array Ordering fields
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
role string (uuid) Role UUID or name
search_string string Search string for user
user string (uuid) User UUID
user_slug string User slug
user_url string User URL
username string User username

200 -

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

Field Type Description
uuid string (uuid)
created string (date-time)
expiration_time string (date-time)
role_name string
role_uuid string (uuid)
user_email string (email)
user_full_name string
user_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
user_uuid string (uuid)
user_image string (uri)
created_by_full_name string
created_by_uuid string (uuid)

List offerings of a service provider

Returns a paginated list of all billable, shared offerings provided by the specified service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/offerings/ \
  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.marketplace_service_providers import marketplace_service_providers_offerings_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersOfferingsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
accessible_via_calls boolean Accessible via calls
allowed_customer_uuid string (uuid) Allowed customer UUID
attributes string Offering attributes (JSON)
billable boolean Billable
can_create_offering_user boolean
category_group_uuid string (uuid) Category group UUID
category_uuid string (uuid) Category UUID
created string (date-time) Created after
customer string Customer URL
customer_uuid string (uuid) Customer UUID
description string Description contains
field array
has_active_terms_of_service boolean Has Active Terms of Service
has_terms_of_service boolean Has Terms of Service
keyword string Keyword
modified string (date-time) Modified after
name string Name
name_exact string Name (exact)
o array Ordering

organization_group_uuid array Organization group UUID
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
parent_uuid string (uuid) Parent offering UUID
project_uuid string (uuid) Project UUID
query string Search by offering name, slug or description
resource_customer_uuid string (uuid) Resource customer UUID
resource_project_uuid string (uuid) Resource project UUID
scope_uuid string Scope UUID
service_manager_uuid string (uuid) Service manager UUID
shared boolean Shared
state array Offering state

type array Offering type
user_has_consent boolean User Has Consent
user_has_offering_user boolean User Has Offering User
uuid_list string Comma-separated offering UUIDs

200 -

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

Field Type Description
uuid string (uuid)
customer_uuid string (uuid)
name string
slug string URL-friendly identifier. Only editable by staff users.
category_title string
type string
state any
resources_count integer
billing_price_estimate any
components array of objects
components.uuid string (uuid)
components.billing_type string
Enum: fixed, usage, limit, one, few
components.type string Unique internal name of the measured unit, for example floating_ip.
components.name string Display name for the measured unit, for example, Floating IP.
components.description string
components.measured_unit string Unit of measurement, for example, GB.
components.unit_factor integer The conversion factor from backend units to measured_unit
components.limit_period any
components.limit_amount integer
components.article_code string
components.max_value integer
components.min_value integer
components.max_available_limit integer
components.is_boolean boolean
components.default_limit integer
components.factor integer
components.is_builtin boolean
components.is_prepaid boolean
components.overage_component string (uuid)
components.min_prepaid_duration integer
components.max_prepaid_duration integer
plans array of objects
plans.url string (uri)
plans.uuid string (uuid)
plans.name string
plans.description string
plans.article_code string
plans.max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
plans.archived boolean Forbids creation of new resources.
plans.is_active boolean
plans.unit_price string (decimal)
plans.unit string
Enum: month, quarter, half_month, day, hour, quantity
plans.init_price number (double)
plans.switch_price number (double)
plans.backend_id string
plans.organization_groups array of objects
plans.organization_groups.uuid string (uuid)
plans.organization_groups.url string (uri)
plans.organization_groups.name string
plans.organization_groups.parent_uuid string (uuid) UUID of the parent organization group
plans.organization_groups.parent_name string Name of the parent organization group
plans.organization_groups.parent string (uri)
plans.organization_groups.customers_count integer Number of customers in this organization group
plans.components array of objects
plans.components.type string Unique internal name of the measured unit, for example floating_ip.
plans.components.name string Display name for the measured unit, for example, Floating IP.
plans.components.measured_unit string Unit of measurement, for example, GB.
plans.components.amount integer
plans.components.price string (decimal)
plans.components.future_price string (decimal)
plans.components.discount_threshold integer Minimum amount to be eligible for discount.
plans.components.discount_rate integer Discount rate in percentage.
plans.prices object (free-form)
plans.future_prices object (free-form)
plans.quotas object (free-form)
plans.resources_count integer
plans.plan_type string
plans.minimal_price number (double)
options any Fields describing resource provision form.
resource_options any Fields describing resource report form.
secret_options any
thumbnail string (uri)

List project permissions of a service provider

Returns a paginated list of project permissions for all projects that have consumed resources from the specified service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/project_permissions/ \
  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.marketplace_service_providers import marketplace_service_providers_project_permissions_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersProjectPermissionsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
created string (date-time) Created after
expiration_time string (date-time)
field array
full_name string User full name contains
modified string (date-time) Modified after
native_name string
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 name contains
role_uuid string (uuid) Role UUID
scope_name string Scope name
scope_type string Scope type
scope_uuid string Scope UUID
user string (uuid)
user_slug string User slug contains
user_url string
username string

200 -

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

Field Type Description
created string (date-time)
expiration_time string (date-time)
created_by string (uri)
created_by_full_name string
created_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
project string (uri)
project_uuid string (uuid)
project_name string
project_created string (date-time)
project_end_date string (date-time)
customer_uuid string (uuid)
customer_name string
role string
role_name string
user string (uri)
user_full_name string
user_native_name string
user_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
user_uuid string (uuid)
user_email string (email)

List project service accounts for a service provider

Returns a paginated list of project service accounts that have access to resources managed by the provider.

1
2
3
    This includes:
    - Projects with active resources of the service provider.
    - Service accounts with non-blank usernames.
1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/project_service_accounts/ \
  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.marketplace_service_providers import marketplace_service_providers_project_service_accounts_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersProjectServiceAccountsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
email string Email contains
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project string Project URL
project_uuid string (uuid) Project UUID
state array Service account state

username string Username

200 -

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

Field Type
url string (uri)
uuid string (uuid)
created string (date-time)
modified string (date-time)
username string
description string
error_message string
error_traceback string
state any
token string
email string (email)
expires_at string
preferred_identifier string
project string (uuid)
project_uuid string (uuid)
project_name string
customer_uuid string (uuid)
customer_name string
customer_abbreviation string

List projects of a service provider

Returns a paginated list of all projects that have consumed resources from the specified service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/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.marketplace_service_providers import marketplace_service_providers_projects_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersProjectsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
backend_id string
can_admin boolean Return a list of projects where current user is admin.
can_manage boolean Return a list of projects where current user is manager or a customer owner.
conceal_finished_projects boolean Conceal finished projects
created string (date-time) Created after
customer array Multiple values may be separated by commas.
customer_abbreviation string Customer abbreviation
customer_name string Customer name
customer_native_name string Customer native name
description string Description
field array
is_removed boolean Is removed
modified string (date-time) Modified after
name string Name
name_exact string Name (exact)
o array Ordering

page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
query string Filter by name, slug, UUID, backend ID or resource effective ID
slug string Slug

200 -

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

Field Type Description
url string (uri)
uuid string (uuid)
name string
slug string URL-friendly identifier. Only editable by staff users.
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_slug string
customer_native_name string
customer_abbreviation string
description string Project description (HTML content will be sanitized)
customer_display_billing_info_in_projects boolean
created string (date-time)
type string (uri)
type_name string
type_uuid string (uuid)
backend_id string
start_date string (date) Project start date. Cannot be edited after the start date has arrived.
end_date string (date) Project end date. Setting this field requires DELETE_PROJECT permission.
end_date_requested_by string (uri)
oecd_fos_2007_code any
oecd_fos_2007_label string Human-readable label for the OECD FOS 2007 classification code
is_industry boolean
image string (uri)
resources_count integer Number of active resources in this project
max_service_accounts integer Maximum number of service accounts allowed
kind any
is_removed boolean
termination_metadata any Metadata about project termination (read-only)
staff_notes string Internal notes visible only to staff and support users (HTML content will be sanitized)
grace_period_days integer Number of extra days after project end date before resources are terminated. Overrides customer-level setting.
user_email_patterns any
user_affiliations any
user_identity_sources any List of allowed identity sources (identity providers).
project_credit number (double)
marketplace_resource_count object (free-form)
billing_price_estimate any

Retrieve a service provider

Returns details of a specific service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/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.marketplace_service_providers import marketplace_service_providers_retrieve # (1)

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

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

try {
  const response = await marketplaceServiceProvidersRetrieve({
  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
field array

200 -

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
description string
enable_notifications boolean
customer string (uri)
customer_name string
customer_uuid string (uuid)
customer_image string (uri)
customer_abbreviation string
customer_slug string
customer_native_name string
customer_country string
image string (uri)
organization_groups array of objects
organization_groups.uuid string (uuid)
organization_groups.url string (uri)
organization_groups.name string
organization_groups.parent_uuid string (uuid) UUID of the parent organization group
organization_groups.parent_name string Name of the parent organization group
organization_groups.parent string (uri)
organization_groups.customers_count integer Number of customers in this organization group
offering_count integer

Get service provider revenue

Returns monthly revenue data for the last year for the service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/revenue/ \
  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.marketplace_service_providers import marketplace_service_providers_revenue_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersRevenueList({
  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 Description
total integer Total revenue amount
year integer Invoice year
month integer Invoice month

List customers with robot accounts

Returns a paginated list of customers who have robot accounts for resources managed by this service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/robot_account_customers/ \
  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.marketplace_service_providers import marketplace_service_providers_robot_account_customers_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersRobotAccountCustomersList({
  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
customer_name string Filter by customer name (case-insensitive partial match).
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 Description
name string Name of the entity
uuid string (uuid) UUID of the entity

List projects with robot accounts

Returns a paginated list of projects which have robot accounts for resources managed by this service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/robot_account_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.marketplace_service_providers import marketplace_service_providers_robot_account_projects_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersRobotAccountProjectsList({
  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.
project_name string Filter by project name (case-insensitive partial match).

200 -

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

Field Type Description
name string Name of the entity
uuid string (uuid) UUID of the entity

Get service provider statistics

Returns various statistics for the service provider, such as number of active campaigns, customers, and resources.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/stat/ \
  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.marketplace_service_providers import marketplace_service_providers_stat_retrieve # (1)

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

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

try {
  const response = await marketplaceServiceProvidersStatRetrieve({
  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
active_campaigns integer Number of active campaigns
current_customers integer Number of current customers
customers_number_change integer Change in number of customers
active_resources integer Number of active resources
resources_number_change integer Change in number of resources
active_and_paused_offerings integer Number of active and paused offerings
unresolved_tickets integer Number of unresolved support tickets
pending_orders integer Number of pending orders
erred_resources integer Number of resources in error state

List customers of a specific user within a service provider's scope

Returns a paginated list of customers that a specified user has access to within the scope of a service provider.

1
2
3
4
    This includes:
    - Customers where the user has direct permissions.
    - Customers with projects where the user has project roles.
    - Customers related to the service provider's resources that the user can access.
1
2
3
4
5
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/user_customers/ \
  Authorization:"Token YOUR_API_TOKEN" \
  user_uuid=="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_user_customers_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersUserCustomersList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  query: {
    "user_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Required Description
abbreviation string Abbreviation
agreement_number string
archived boolean
backend_id string
contact_details string Contact details
field array
name string Name
name_exact string Name (exact)
native_name string Native name
organization_group_name string Organization group name
organization_group_uuid array Organization group UUID
owned_by_current_user boolean Return a list of customers where current user is owner.
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
query string Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number
registration_code string
user_uuid string (uuid) UUID of the user to get related customers for.

200 -

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

Field Type
uuid string (uuid)
name string
slug string
abbreviation string
phone_number string
email string (email)
payment_profiles array of objects
payment_profiles.uuid string (uuid)
payment_profiles.url string (uri)
payment_profiles.name string
payment_profiles.organization_uuid string (uuid)
payment_profiles.organization string (uri)
payment_profiles.attributes object
payment_profiles.attributes.end_date string
payment_profiles.attributes.agreement_number string
payment_profiles.attributes.contract_sum integer
payment_profiles.payment_type string
payment_profiles.payment_type_display string
payment_profiles.is_active boolean
billing_price_estimate any
projects_count integer
users_count integer
projects array of objects
projects.uuid string (uuid)
projects.name string
projects.image string (uri)
users array of objects
users.uuid string (uuid)
users.full_name string
users.email string (email)
users.image string (uri)

List users of a service provider

Returns a paginated list of all users who have consumed resources from the specified service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/users/ \
  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.marketplace_service_providers import marketplace_service_providers_users_list # (1)

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

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

try {
  const response = await marketplaceServiceProvidersUsersList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
agreement_date string (date-time) Agreement date after
civil_number string
customer_uuid string (uuid) Customer UUID
date_joined string (date-time) Date joined after
description string
email string Email
field array
full_name string Full name
is_active boolean Is active
is_staff boolean Is staff
is_support boolean Is support
job_title string Job title
modified string (date-time) Date modified after
native_name string Native name
o array Ordering

organization string Organization
organization_roles string Organization roles
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
phone_number string
project_roles string Project roles
project_uuid string (uuid) Project UUID
query string Filter by first name, last name, civil number, username or email
registration_method string
user_keyword string User keyword
username string Username (exact)
username_list string Comma-separated usernames

200 -

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

Field Type Description
uuid string (uuid)
username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
full_name string
first_name string
last_name string
organization string
email string (email)
phone_number string
projects_count integer
registration_method string Indicates what registration method was used.
affiliations any Person's affiliation within organization such as student, faculty, staff.
is_active boolean Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

Get service provider API secret code

Returns the API secret code for a service provider. Requires service provider owner permission.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/api_secret_code/ \
  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.marketplace_service_providers import service_provider_api_secret_code_retrieve # (1)

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

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

try {
  const response = await serviceProviderApiSecretCodeRetrieve({
  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
api_secret_code string API secret code for authenticating service provider requests

Get summary of compliance checklists

Returns a summary of all compliance checklists used by this service provider with usage counts.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/compliance/checklists_summary/ \
  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.marketplace_service_providers import service_provider_checklists_summary # (1)

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

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

try {
  const response = await serviceProviderChecklistsSummary({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_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
checklist_uuid string (uuid)
checklist_name string
questions_count integer
offerings_count integer
category_name string

Get compliance overview for a service provider

Returns compliance overview statistics for all offerings managed by this service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/compliance/compliance_overview/ \
  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.marketplace_service_providers import service_provider_compliance_overview # (1)

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

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

try {
  const response = await serviceProviderComplianceOverview({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_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
offering_uuid string (uuid)
offering_name string
checklist_name string
total_users integer
users_with_completions integer
completed_users integer
pending_users integer
compliance_rate number (double)

List offering users' compliance status

Returns a list of offering users with their compliance status for this service provider. Can be filtered by offering and compliance status.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/compliance/offering_users/ \
  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.marketplace_service_providers import service_provider_offering_users_compliance # (1)

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

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

try {
  const response = await serviceProviderOfferingUsersCompliance({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "service_provider_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
service_provider_uuid string (uuid)
Name Type Description
compliance_status string Filter by compliance status: completed, pending, no_checklist.
offering_uuid string (uuid) Filter by offering UUID.
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)
user_full_name string
user_email string
offering_name string
checklist_name string
username string
state any
completion_percentage integer
compliance_status string
last_updated string (date-time)
created string (date-time)

Grant a role to a user

Assigns a specific role to a user within the current scope. An optional expiration time for the role can be set.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/add_user/ \
  Authorization:"Token YOUR_API_TOKEN" \
  role="string-value" \
  user="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.user_role_create_request import UserRoleCreateRequest # (1)
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_add_user # (2)

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

body_data = UserRoleCreateRequest(
    role="string-value",
    user="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)
response = marketplace_service_providers_add_user.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: UserRoleCreateRequest
  2. API Source: marketplace_service_providers_add_user
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import { marketplaceServiceProvidersAddUser } from 'waldur-js-client';

try {
  const response = await marketplaceServiceProvidersAddUser({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "role": "string-value",
    "user": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
role string
user string (uuid)
expiration_time string (date-time)

201 -

Field Type
expiration_time string (date-time)

400 - Validation error, for example when trying to add a user to a terminated project.


Create a service provider

Creates a new service provider profile for a customer.

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/marketplace-service-providers/ \
  Authorization:"Token YOUR_API_TOKEN" \
  customer="https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.service_provider_request import ServiceProviderRequest # (1)
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_create # (2)

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

body_data = ServiceProviderRequest(
    customer="https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = marketplace_service_providers_create.sync(
    client=client,
    body=body_data
)

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

try {
  const response = await marketplaceServiceProvidersCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "customer": "https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required
description string
enable_notifications boolean
customer string (uri)
image string (binary)

201 -

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
description string
enable_notifications boolean
customer string (uri)
customer_name string
customer_uuid string (uuid)
customer_image string (uri)
customer_abbreviation string
customer_slug string
customer_native_name string
customer_country string
image string (uri)
organization_groups array of objects
organization_groups.uuid string (uuid)
organization_groups.url string (uri)
organization_groups.name string
organization_groups.parent_uuid string (uuid) UUID of the parent organization group
organization_groups.parent_name string Name of the parent organization group
organization_groups.parent string (uri)
organization_groups.customers_count integer Number of customers in this organization group
offering_count integer

Revoke a role from a user

Removes a specific role from a user within the current scope. This effectively revokes their permissions associated with that role.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/delete_user/ \
  Authorization:"Token YOUR_API_TOKEN" \
  role="string-value" \
  user="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.user_role_delete_request import UserRoleDeleteRequest # (1)
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_delete_user # (2)

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

body_data = UserRoleDeleteRequest(
    role="string-value",
    user="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)
response = marketplace_service_providers_delete_user.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: UserRoleDeleteRequest
  2. API Source: marketplace_service_providers_delete_user
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import { marketplaceServiceProvidersDeleteUser } from 'waldur-js-client';

try {
  const response = await marketplaceServiceProvidersDeleteUser({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "role": "string-value",
    "user": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
role string
user string (uuid)
expiration_time string (date-time)

200 - Role revoked successfully.


Set offering username for a user

Sets or updates the offering-specific username for a user across all offerings managed by the service provider that the user has access to.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/set_offerings_username/ \
  Authorization:"Token YOUR_API_TOKEN" \
  user_uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  username="alice"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.set_offerings_username_request import SetOfferingsUsernameRequest # (1)
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_set_offerings_username # (2)

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

body_data = SetOfferingsUsernameRequest(
    user_uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    username="alice"
)
response = marketplace_service_providers_set_offerings_username.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SetOfferingsUsernameRequest
  2. API Source: marketplace_service_providers_set_offerings_username
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import { marketplaceServiceProvidersSetOfferingsUsername } from 'waldur-js-client';

try {
  const response = await marketplaceServiceProvidersSetOfferingsUsername({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "user_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "username": "alice"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
user_uuid string (uuid) UUID of the user
username string Username for offering access

201 - No response body


Update a user's role expiration

Updates the expiration time for a user's existing role in the current scope. This is useful for extending or shortening the duration of a permission. To make a role permanent, set expiration_time to null.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_user/ \
  Authorization:"Token YOUR_API_TOKEN" \
  role="string-value" \
  user="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.user_role_update_request import UserRoleUpdateRequest # (1)
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_update_user # (2)

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

body_data = UserRoleUpdateRequest(
    role="string-value",
    user="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)
response = marketplace_service_providers_update_user.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: UserRoleUpdateRequest
  2. API Source: marketplace_service_providers_update_user
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import { marketplaceServiceProvidersUpdateUser } from 'waldur-js-client';

try {
  const response = await marketplaceServiceProvidersUpdateUser({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "role": "string-value",
    "user": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
role string
user string (uuid)
expiration_time string (date-time)

200 -

Field Type
expiration_time string (date-time)

Generate new service provider API secret code

Generates a new API secret code for a service provider, invalidating the old one. Requires service provider owner permission.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/api_secret_code/ \
  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.marketplace_service_providers import service_provider_api_secret_code_generate # (1)

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

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

try {
  const response = await serviceProviderApiSecretCodeGenerate({
  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
api_secret_code string API secret code for authenticating service provider requests

Update a service provider

Updates an existing service provider profile.

1
2
3
4
5
http \
  PUT \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  customer="https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
 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.service_provider_request import ServiceProviderRequest # (1)
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_update # (2)

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

body_data = ServiceProviderRequest(
    customer="https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = marketplace_service_providers_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await marketplaceServiceProvidersUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "customer": "https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
description string
enable_notifications boolean
customer string (uri)
image string (binary)

200 -

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
description string
enable_notifications boolean
customer string (uri)
customer_name string
customer_uuid string (uuid)
customer_image string (uri)
customer_abbreviation string
customer_slug string
customer_native_name string
customer_country string
image string (uri)
organization_groups array of objects
organization_groups.uuid string (uuid)
organization_groups.url string (uri)
organization_groups.name string
organization_groups.parent_uuid string (uuid) UUID of the parent organization group
organization_groups.parent_name string Name of the parent organization group
organization_groups.parent string (uri)
organization_groups.customers_count integer Number of customers in this organization group
offering_count integer

Partially update a service provider

Partially updates an existing service provider profile.

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/marketplace-service-providers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.patched_service_provider_request import PatchedServiceProviderRequest # (1)
from waldur_api_client.api.marketplace_service_providers import marketplace_service_providers_partial_update # (2)

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

body_data = PatchedServiceProviderRequest()
response = marketplace_service_providers_partial_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await marketplaceServiceProvidersPartialUpdate({
  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)
Field Type Required
description string
enable_notifications boolean
image string (binary)

200 -

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
description string
enable_notifications boolean
customer string (uri)
customer_name string
customer_uuid string (uuid)
customer_image string (uri)
customer_abbreviation string
customer_slug string
customer_native_name string
customer_country string
image string (uri)
organization_groups array of objects
organization_groups.uuid string (uuid)
organization_groups.url string (uri)
organization_groups.name string
organization_groups.parent_uuid string (uuid) UUID of the parent organization group
organization_groups.parent_name string Name of the parent organization group
organization_groups.parent string (uri)
organization_groups.customers_count integer Number of customers in this organization group
offering_count integer

Delete a service provider

Deletes a service provider profile. Only possible if there are no active offerings.

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/marketplace-service-providers/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.marketplace_service_providers import marketplace_service_providers_destroy # (1)

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

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

try {
  const response = await marketplaceServiceProvidersDestroy({
  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)

204 - No response body