Skip to content

Marketplace Public Offerings

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/marketplace-public-offerings/ List public offerings
GET /api/marketplace-public-offerings/{uuid}/ Retrieve a public offering
Other Actions
GET /api/marketplace-public-offerings/{uuid}/plans/ List plans for an offering
GET /api/marketplace-public-offerings/{uuid}/plans/{plan_uuid}/ Retrieve a specific plan for an offering

Core CRUD

List public offerings

Returns a paginated list of public offerings. The list is filtered to show only offerings that are active or paused and available for ordering by the current user. If anonymous access is enabled, it shows shared offerings available to unauthenticated users.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-public-offerings/ \
  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_public_offerings import marketplace_public_offerings_list # (1)

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

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

try {
  const response = await marketplacePublicOfferingsList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
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
url string (uri)
uuid string (uuid)
created string (date-time)
name string
slug string
description string
full_description string
privacy_policy_link string (uri)
access_url string (uri) Publicly accessible offering access URL
endpoints array of objects
endpoints.uuid string (uuid)
endpoints.name string
endpoints.url string
software_catalogs array of objects
software_catalogs.uuid string (uuid)
software_catalogs.catalog object
software_catalogs.catalog.uuid string
software_catalogs.catalog.name string
software_catalogs.catalog.version string
software_catalogs.catalog.description string
software_catalogs.enabled_cpu_family any List of enabled CPU families: ['x86_64', 'aarch64']
software_catalogs.enabled_cpu_microarchitectures any List of enabled CPU microarchitectures: ['generic', 'zen3']
software_catalogs.package_count integer
software_catalogs.partition object
software_catalogs.partition.uuid string
software_catalogs.partition.partition_name string
software_catalogs.partition.priority_tier integer
software_catalogs.partition.qos string
partitions array of objects
partitions.uuid string (uuid)
partitions.partition_name string Name of the SLURM partition
partitions.cpu_bind integer Default task binding policy (SLURM cpu_bind)
partitions.def_cpu_per_gpu integer Default CPUs allocated per GPU
partitions.max_cpus_per_node integer Maximum allocated CPUs per node
partitions.max_cpus_per_socket integer Maximum allocated CPUs per socket
partitions.def_mem_per_cpu integer (int64) Default memory per CPU in MB
partitions.def_mem_per_gpu integer (int64) Default memory per GPU in MB
partitions.def_mem_per_node integer (int64) Default memory per node in MB
partitions.max_mem_per_cpu integer (int64) Maximum memory per CPU in MB
partitions.max_mem_per_node integer (int64) Maximum memory per node in MB
partitions.default_time integer Default time limit in minutes
partitions.max_time integer Maximum time limit in minutes
partitions.grace_time integer Preemption grace time in seconds
partitions.max_nodes integer Maximum nodes per job
partitions.min_nodes integer Minimum nodes per job
partitions.exclusive_topo boolean Exclusive topology access required
partitions.exclusive_user boolean Exclusive user access required
partitions.priority_tier integer Priority tier for scheduling and preemption
partitions.qos string Quality of Service (QOS) name
partitions.req_resv boolean Require reservation for job allocation
roles array of objects
roles.uuid string (uuid)
roles.name string
roles.url string (uri)
customer string (uri)
customer_uuid string (uuid)
customer_name string
project string (uri)
project_uuid string (uuid)
project_name string
category string (uri)
category_uuid string (uuid)
category_title string
attributes object (free-form)
options any
resource_options 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
plugin_options any
state any
vendor_details string
getting_started string
integration_guide string
thumbnail string (uri)
order_count 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)
plans.organization_groups.parent_name string
plans.organization_groups.parent string (uri)
plans.organization_groups.customers_count integer
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)
screenshots array of objects
screenshots.name string
screenshots.uuid string (uuid)
screenshots.description string
screenshots.image string (uri)
screenshots.thumbnail string (uri)
screenshots.created string (date-time)
type string
shared boolean Accessible to all customers.
billable boolean Purchase and usage is invoiced.
scope string
scope_uuid string (uuid)
scope_name string (uuid)
scope_state any
scope_error_message string
files array of objects
files.name string
files.created string (date-time)
files.file string (uri)
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
paused_reason string
datacite_doi string
citation_count integer Number of citations of a DOI
latitude number (double)
longitude number (double)
country any
backend_id string
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)
organization_groups.parent_name string
organization_groups.parent string (uri)
organization_groups.customers_count integer
image string (uri)
total_customers integer
total_cost integer
total_cost_estimated integer
parent_description string
parent_uuid string (uuid)
parent_name string
backend_metadata any
has_compliance_requirements boolean
billing_type_classification string Classify offering components by billing type. Returns 'limit_only', 'usage_only', or 'mixed'.
compliance_checklist string (uri)
user_has_consent boolean
google_calendar_is_public boolean
google_calendar_link string Get the Google Calendar link for an offering.
promotion_campaigns array of objects
promotion_campaigns.uuid string (uuid)
promotion_campaigns.name string
promotion_campaigns.start_date string (date) Starting from this date, the campaign is active.
promotion_campaigns.end_date string (date) The last day the campaign is active.
promotion_campaigns.discount_type string
Enum: discount, special_price
promotion_campaigns.discount integer
promotion_campaigns.stock integer
promotion_campaigns.description string
promotion_campaigns.months integer How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active)
promotion_campaigns.service_provider string (uri)

Retrieve a public offering

Returns the details of a specific public offering. Access is granted if the offering is available for ordering by the current user or if anonymous access is enabled.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-public-offerings/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_public_offerings import marketplace_public_offerings_retrieve # (1)

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

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

try {
  const response = await marketplacePublicOfferingsRetrieve({
  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)
name string
slug string
description string
full_description string
privacy_policy_link string (uri)
access_url string (uri) Publicly accessible offering access URL
endpoints array of objects
endpoints.uuid string (uuid)
endpoints.name string
endpoints.url string
software_catalogs array of objects
software_catalogs.uuid string (uuid)
software_catalogs.catalog object
software_catalogs.catalog.uuid string
software_catalogs.catalog.name string
software_catalogs.catalog.version string
software_catalogs.catalog.description string
software_catalogs.enabled_cpu_family any List of enabled CPU families: ['x86_64', 'aarch64']
software_catalogs.enabled_cpu_microarchitectures any List of enabled CPU microarchitectures: ['generic', 'zen3']
software_catalogs.package_count integer
software_catalogs.partition object
software_catalogs.partition.uuid string
software_catalogs.partition.partition_name string
software_catalogs.partition.priority_tier integer
software_catalogs.partition.qos string
partitions array of objects
partitions.uuid string (uuid)
partitions.partition_name string Name of the SLURM partition
partitions.cpu_bind integer Default task binding policy (SLURM cpu_bind)
partitions.def_cpu_per_gpu integer Default CPUs allocated per GPU
partitions.max_cpus_per_node integer Maximum allocated CPUs per node
partitions.max_cpus_per_socket integer Maximum allocated CPUs per socket
partitions.def_mem_per_cpu integer (int64) Default memory per CPU in MB
partitions.def_mem_per_gpu integer (int64) Default memory per GPU in MB
partitions.def_mem_per_node integer (int64) Default memory per node in MB
partitions.max_mem_per_cpu integer (int64) Maximum memory per CPU in MB
partitions.max_mem_per_node integer (int64) Maximum memory per node in MB
partitions.default_time integer Default time limit in minutes
partitions.max_time integer Maximum time limit in minutes
partitions.grace_time integer Preemption grace time in seconds
partitions.max_nodes integer Maximum nodes per job
partitions.min_nodes integer Minimum nodes per job
partitions.exclusive_topo boolean Exclusive topology access required
partitions.exclusive_user boolean Exclusive user access required
partitions.priority_tier integer Priority tier for scheduling and preemption
partitions.qos string Quality of Service (QOS) name
partitions.req_resv boolean Require reservation for job allocation
roles array of objects
roles.uuid string (uuid)
roles.name string
roles.url string (uri)
customer string (uri)
customer_uuid string (uuid)
customer_name string
project string (uri)
project_uuid string (uuid)
project_name string
category string (uri)
category_uuid string (uuid)
category_title string
attributes object (free-form)
options any
resource_options 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
plugin_options any
state any
vendor_details string
getting_started string
integration_guide string
thumbnail string (uri)
order_count 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)
plans.organization_groups.parent_name string
plans.organization_groups.parent string (uri)
plans.organization_groups.customers_count integer
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)
screenshots array of objects
screenshots.name string
screenshots.uuid string (uuid)
screenshots.description string
screenshots.image string (uri)
screenshots.thumbnail string (uri)
screenshots.created string (date-time)
type string
shared boolean Accessible to all customers.
billable boolean Purchase and usage is invoiced.
scope string
scope_uuid string (uuid)
scope_name string (uuid)
scope_state any
scope_error_message string
files array of objects
files.name string
files.created string (date-time)
files.file string (uri)
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
paused_reason string
datacite_doi string
citation_count integer Number of citations of a DOI
latitude number (double)
longitude number (double)
country any
backend_id string
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)
organization_groups.parent_name string
organization_groups.parent string (uri)
organization_groups.customers_count integer
image string (uri)
total_customers integer
total_cost integer
total_cost_estimated integer
parent_description string
parent_uuid string (uuid)
parent_name string
backend_metadata any
has_compliance_requirements boolean
billing_type_classification string Classify offering components by billing type. Returns 'limit_only', 'usage_only', or 'mixed'.
compliance_checklist string (uri)
user_has_consent boolean
google_calendar_is_public boolean
google_calendar_link string Get the Google Calendar link for an offering.
promotion_campaigns array of objects
promotion_campaigns.uuid string (uuid)
promotion_campaigns.name string
promotion_campaigns.start_date string (date) Starting from this date, the campaign is active.
promotion_campaigns.end_date string (date) The last day the campaign is active.
promotion_campaigns.discount_type string
Enum: discount, special_price
promotion_campaigns.discount integer
promotion_campaigns.stock integer
promotion_campaigns.description string
promotion_campaigns.months integer How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active)
promotion_campaigns.service_provider string (uri)

Other Actions

List plans for an offering

Returns a list of plans available for a specific offering. The plans are filtered based on the current user's permissions and organization group memberships.

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

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

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

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

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
description string
article_code string
max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
archived boolean Forbids creation of new resources.
is_active boolean
unit_price string (decimal)
unit string
Enum: month, quarter, half_month, day, hour, quantity
init_price number (double)
switch_price number (double)
backend_id string
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)
organization_groups.parent_name string
organization_groups.parent string (uri)
organization_groups.customers_count integer
components array of objects
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.measured_unit string Unit of measurement, for example, GB.
components.amount integer
components.price string (decimal)
components.future_price string (decimal)
components.discount_threshold integer Minimum amount to be eligible for discount.
components.discount_rate integer Discount rate in percentage.
prices object (free-form)
future_prices object (free-form)
quotas object (free-form)
resources_count integer
plan_type string
minimal_price number (double)

Retrieve a specific plan for an offering

Returns the details of a specific plan if it is available to the current user for the given offering.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-public-offerings/string-value/plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  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_public_offerings import marketplace_public_offerings_plans_retrieve # (1)

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

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

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

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
article_code string
max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
archived boolean Forbids creation of new resources.
is_active boolean
unit_price string (decimal)
unit string
Enum: month, quarter, half_month, day, hour, quantity
init_price number (double)
switch_price number (double)
backend_id string
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)
organization_groups.parent_name string
organization_groups.parent string (uri)
organization_groups.customers_count integer
components array of objects
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.measured_unit string Unit of measurement, for example, GB.
components.amount integer
components.price string (decimal)
components.future_price string (decimal)
components.discount_threshold integer Minimum amount to be eligible for discount.
components.discount_rate integer Discount rate in percentage.
prices object (free-form)
future_prices object (free-form)
quotas object (free-form)
resources_count integer
plan_type string
minimal_price number (double)