Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_before
string (date-time)
Created before
customer
string (uri)
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
importable
string
Filter by importable offerings.
keyword
string
Keyword
modified
string (date-time)
Modified after
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
URL-friendly identifier. Only editable by staff users.
description
string
full_description
string
privacy_policy_link
string (uri)
helpdesk_url
string (uri)
documentation_url
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
URL of the access endpoint
default_access_subnets
array of objects
default_access_subnets.uuid
string (uuid)
default_access_subnets.inet
string
default_access_subnets.description
string
software_catalogs
array of objects
software_catalogs.uuid
string (uuid)
software_catalogs.catalog
any
software_catalogs.enabled_cpu_family
array of strings
List of enabled CPU families: ['x86_64', 'aarch64']
software_catalogs.enabled_cpu_microarchitectures
array of strings
List of enabled CPU microarchitectures: ['generic', 'zen3']
software_catalogs.package_count
integer
software_catalogs.partition
any
partitions
array of objects
partitions.uuid
string (uuid)
partitions.partition_name
string
Name of the SLURM partition
partitions.cpu_arch
string
CPU architecture of the partition (e.g., x86_64/amd/zen3)
partitions.gpu_arch
string
GPU architecture of the partition (e.g., nvidia/cc90, amd/gfx90a)
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.qos_options
array of objects
partitions.qos_options.uuid
string (uuid)
partitions.qos_options.qos
string (uuid)
partitions.qos_options.qos_name
string
partitions.qos_options.is_default
boolean
Default QOS for this partition (seeds SLURM DefaultQOS).
partitions.req_resv
boolean
Require reservation for job allocation
qos_profiles
array of objects
qos_profiles.uuid
string (uuid)
qos_profiles.name
string
Name of the SLURM QOS.
qos_profiles.description
string
qos_profiles.max_nodes
integer
Maximum nodes per job
qos_profiles.min_nodes
integer
Minimum nodes per job
qos_profiles.default_time
integer
Default time limit in minutes
qos_profiles.max_time
integer
Maximum wall time in minutes
qos_profiles.grace_time
integer
Preemption grace time in seconds
qos_profiles.priority
integer
Scheduling priority
qos_profiles.grp_tres
string
Aggregate TRES the QOS may allocate at once (GrpTRES)
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
components.prepaid_duration_step
integer
Step size in months for the initial prepaid duration at order creation. If set, only multiples of this value (starting from min_prepaid_duration) are valid. Defaults to 1 (any value between min and max).
components.min_renewal_duration
integer
Minimum number of months allowed for a renewal.
components.max_renewal_duration
integer
Maximum number of months allowed for a renewal.
components.renewal_duration_step
integer
Step size in months for renewal. Only multiples of this value (starting from min_renewal_duration) are valid. Defaults to 1.
plugin_options
any
secret_options
any
service_attributes
object (free-form)
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.
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_formula
string
Volume discount formula evaluated with the billed quantity bound to usage; returns a discount percentage (clamped to 0-100). Empty means no discount. Example: '10 if usage >= 100 else 0'.
plans.components.discount_aggregation
any
Whether the volume discount is computed on a single resource's usage or aggregated across all of the customer's resources of this offering.
plans.components.discount_description
string
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
string
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
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
Country code (ISO 3166-1 alpha-2)
backend_id
string
backend_id_rules
object (free-form)
Validation rules for resource backend_id: format regex and uniqueness scope.
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
tags
array of objects
tags.uuid
string (uuid)
tags.name
string
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
object (free-form)
has_compliance_requirements
boolean
billing_type_classification
string
Classify offering components by billing type. Returns 'limit_only', 'usage_only', or 'mixed'.
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
components.prepaid_duration_step
integer
Step size in months for the initial prepaid duration at order creation. If set, only multiples of this value (starting from min_prepaid_duration) are valid. Defaults to 1 (any value between min and max).
components.min_renewal_duration
integer
Minimum number of months allowed for a renewal.
components.max_renewal_duration
integer
Maximum number of months allowed for a renewal.
components.renewal_duration_step
integer
Step size in months for renewal. Only multiples of this value (starting from min_renewal_duration) are valid. Defaults to 1.
plugin_options
any
secret_options
any
service_attributes
object (free-form)
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.
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_formula
string
Volume discount formula evaluated with the billed quantity bound to usage; returns a discount percentage (clamped to 0-100). Empty means no discount. Example: '10 if usage >= 100 else 0'.
plans.components.discount_aggregation
any
Whether the volume discount is computed on a single resource's usage or aggregated across all of the customer's resources of this offering.
plans.components.discount_description
string
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
string
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
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
Country code (ISO 3166-1 alpha-2)
backend_id
string
backend_id_rules
object (free-form)
Validation rules for resource backend_id: format regex and uniqueness scope.
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
tags
array of objects
tags.uuid
string (uuid)
tags.name
string
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
object (free-form)
has_compliance_requirements
boolean
billing_type_classification
string
Classify offering components by billing type. Returns 'limit_only', 'usage_only', or 'mixed'.
URL-friendly identifier. Only editable by staff users.
description
string
full_description
string
privacy_policy_link
string (uri)
helpdesk_url
string (uri)
documentation_url
string (uri)
access_url
string (uri)
Publicly accessible offering access URL
customer
string (uri)
category
string (uri)
✓
attributes
object (free-form)
options
object
options.order
array of strings
✓
options.options
object (free-form)
✓
resource_options
object
resource_options.order
array of strings
✓
resource_options.options
object (free-form)
✓
components
array of objects
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.is_prepaid
boolean
components.overage_component
string (uuid)
components.min_prepaid_duration
integer
components.max_prepaid_duration
integer
components.prepaid_duration_step
integer
Step size in months for the initial prepaid duration at order creation. If set, only multiples of this value (starting from min_prepaid_duration) are valid. Defaults to 1 (any value between min and max).
components.min_renewal_duration
integer
Minimum number of months allowed for a renewal.
components.max_renewal_duration
integer
Maximum number of months allowed for a renewal.
components.renewal_duration_step
integer
Step size in months for renewal. Only multiples of this value (starting from min_renewal_duration) are valid. Defaults to 1.
plugin_options
object
plugin_options.auto_approve_remote_orders
boolean
If set to True, an order can be processed without approval
plugin_options.resource_expiration_threshold
integer
Resource expiration threshold in days. Constraints: default: 30
If set to True, offering users will be automatically marked for deletion by the cleanup task when users lose project access. If False (default), deletion must be triggered manually by the service provider. Constraints: default: False
Skip approval of public offering belonging to the same organization under which the request is done
plugin_options.disable_autoapprove
boolean
If set to True, orders for this offering will always require manual approval, overriding auto_approve_in_service_provider_projects
plugin_options.supports_downscaling
boolean
If set to True, it will be possible to downscale resources
plugin_options.supports_pausing
boolean
If set to True, it will be possible to pause resources
plugin_options.disable_grace_period
boolean
If set to True, this offering's resources ignore the project grace period and are terminated on the project end date. Only staff can change this option.
plugin_options.action_on_usage_limit
any
If set to 'pause' or 'downscale', resources are automatically paused or downscaled when reported usage in the current period reaches a component's limit_amount, and the restriction is lifted when usage drops below the limit again (e.g. a new billing period or a raised limit).
Required user role in a project for provisioning of resources
plugin_options.restricted_to_roles
array of strings
List of project or organization role names (e.g. 'PROJECT.MANAGER') allowed to view and order this offering. When set, the offering is hidden from the catalog for other users and they cannot create orders for it. Whether their orders skip consumer review still depends on the role having the order-approval permission.
plugin_options.auto_approve_for_roles
array of strings
List of project or organization role names (e.g. 'PROJECT.MANAGER') whose orders skip consumer review for this offering. The creator must hold the role on the target project or its organization. Independent of restricted_to_roles (which governs visibility/ordering) and of the ORDER.APPROVE permission. Provider review and purchase-order requirements still apply. Only staff can change this option.
plugin_options.enable_purchase_order_upload
boolean
If set to True, users will be able to upload purchase orders.
plugin_options.require_purchase_order_upload
boolean
If set to True, users will be required to upload purchase orders.
plugin_options.conceal_billing_data
boolean
If set to True, pricing and components tab would be concealed.
If set to True, users without RESOURCE.SET_END_DATE can request an end date change, and holders of that permission approve or reject. Approval writes the date directly; no order is created. Requests are published as events so an external approval system can decide instead. Not applicable to prepaid offerings, which extend through renewal instead.
plugin_options.enable_resource_projects
boolean
Enable sub-project management within resources.
plugin_options.enable_membership_sync_status
boolean
Enable per-member sync status reporting by the site agent: team views show whether each role grant has propagated to the provider backend, and providers can trigger a resync.
plugin_options.enable_resource_access_subnets
boolean
If set to True, an Access subnets tab is shown on resource detail pages, letting consumers curate the IPs allowed to reach the backend entity. The list is advisory data for external firewalls.
If set to True, a resource of this offering that has access subnets is hidden from the consumer API unless the caller's IP is in the resource's allow-list. Staff and support are exempt; resources without any subnet stay visible.
plugin_options.resource_projects_limit_policy
any
How parent resource limits are enforced on child resource projects: 'none' (accepted as-is, default), 'per_project' (each resource project limit must be within the parent resource limit), or 'aggregate' (the sum of all resource project limits must be within the parent limit).
plugin_options.auto_ok_resource_projects
boolean
If set to True, newly-created resource projects are immediately transitioned from CREATING to OK on save, bypassing the provider/site-agent reconciliation callback. Use for offerings that have no external backend to reconcile against.
plugin_options.resource_projects_limits_required
boolean
If set to True, every limit-billing component declared by the offering must have a value when creating or updating a resource project. Use this for backends that reject projects without resource quotas (e.g. the rancher-keycloak-operator's project-level resourceQuota.limit cap).
If set to True, offering cannot be deleted while it has non-terminated resources.
plugin_options.resource_name_pattern
string
Python format string for generating resource names. Available variables: {customer_name}, {customer_slug}, {project_name}, {project_slug}, {offering_name}, {offering_slug}, {plan_name}, {counter}, {attributes[KEY]}.
plugin_options.resource_slug_template
string
Template for resource slugs, overriding the default 10-character slugified name. Available variables: {customer_slug}, {project_slug}, {project_name}, {offering_slug}, {year}, {month}, {counter}, {counter_padded}. Default: slugified resource name (max 10 characters).
plugin_options.resource_slug_max_length
integer
Maximum length of auto-generated resource slugs derived from the resource name, overriding the default of 10 characters (up to 40). Ignored when a resource slug template is set.
plugin_options.default_internal_network_mtu
integer
If set, it will be used as a default MTU for the first network in a tenant
plugin_options.max_instances
integer
Default limit for number of instances in OpenStack tenant
plugin_options.max_volumes
integer
Default limit for number of volumes in OpenStack tenant
plugin_options.max_security_groups
integer
Default limit for number of security groups in OpenStack tenant
plugin_options.storage_mode
any
Storage mode for OpenStack offering
plugin_options.snapshot_size_limit_gb
integer
Default limit for snapshot size in GB
plugin_options.lbaas_enabled
boolean
If True, Octavia LBaaS (load balancers) is intended to be available for tenants from this offering.
plugin_options.usage_poll_interval_minutes
integer
Interval in minutes between usage polling for this offering (default: 60)
plugin_options.billing_source
any
Source for OpenStack instance compute ComponentUsage: 'quota' (flavor-derived Nova quota, default) or 'placement' (Placement allocations; also bills VGPU/PCI/custom resource classes).
Manage a POSIX/LDAP account (UID, GID, home directory, login shell and GLAuth exposure) for this offering's users. Disable for offerings that only need a username. Constraints: default: True
plugin_options.resource_role_map
object (free-form)
Mapping of Waldur role names (on Resource scope) to emitted role tokens used in group name rendering. Roles outside the map are skipped. Example: {"PI": "admin", "Member": "member"}.
plugin_options.resource_project_role_map
object (free-form)
Mapping of Waldur role names (on ResourceProject scope) to emitted role tokens. Same semantics as resource_role_map.
plugin_options.resource_role_group_template
string
string.Template for resource-scope role group names. Variables: ${role_name}, ${resource_slug}, ${customer_slug}, ${project_slug}. Constraints: default: ${resource_slug}_${role_name}
string.Template for resource-project-scope role group names. Adds ${rp_uuid}, ${rp_uuid_short}, ${project_name} to the variables available for resource-scope templates. Constraints: default: ${resource_slug}_${rp_uuid_short}_${role_name}
plugin_options.username_anonymized_prefix
string
GLAuth prefix for anonymized usernames Constraints: default: waldur_
Default login shell assigned to GLAuth/LDAP accounts. Constraints: default: /bin/bash
plugin_options.uid_source
any
Where each offering user's UID comes from: allocated from the POSIX ID pool (default), or taken from the user's uid_number attribute (e.g. an OIDC claim). Pair 'user_attribute' with a GID-only pool to avoid UID collisions. Constraints: default: pool
plugin_options.gid_source
any
Where each offering user's primary GID comes from: the POSIX ID pool (default), or the user's primary_gid attribute. Constraints: default: pool
plugin_options.emit_display_name
boolean
Emit the user's full name as a GLAuth displayName custom attribute (rendered to LDAP displayName). Constraints: default: False
plugin_options.emit_waldur_username
boolean
Emit the Waldur username as a GLAuth waldurUsername custom attribute, alongside the generated POSIX login name. Constraints: default: False
Enable display of order actions for service provider Constraints: default: True
plugin_options.slurm_periodic_policy_enabled
boolean
Enable SLURM periodic usage policy configuration. When enabled, allows configuring QoS-based threshold enforcement, carryover logic, and fairshare decay for site-agent managed SLURM offerings. Constraints: default: False
plugin_options.enforce_qos
boolean
When enabled, the site agent enforces the offering's QoS selection by granting the chosen QoS on the SLURM association (QosLevel/DefaultQOS). When disabled (default), QoS is informational only — profiles are shown and the selection is recorded on the resource, but the agent does not touch SLURM QoS. The agent config may override this per deployment. Constraints: default: False
plugin_options.auto_approve_marketplace_script
boolean
If set to False, all orders require manual provider approval, including for service provider owners and staff Constraints: default: True
plugin_options.highlight_backend_id_display
boolean
Defines if backend_id should be shown more prominently by the UI Constraints: default: False
plugin_options.backend_id_display_label
string
Label used by UI for showing value of the backend_id Constraints: default: Backend ID
If set to True, highlighted backend ID display is only shown when the resource has an effective_id. Constraints: default: False
plugin_options.expose_inference_playground
boolean
Show an in-browser inference playground action for resources of this offering (for offerings whose resources expose an OpenAI-compatible endpoint). Constraints: default: False
plugin_options.disabled_resource_actions
array of strings
List of disabled marketplace resource actions for this offering.
plugin_options.show_ssh_key_loss_warning
boolean
Show a warning about unrecoverable loss of the SSH private key on the OpenStack instance order form. Constraints: default: False
vendor_details
string
getting_started
string
integration_guide
string
thumbnail
string (binary)
plans
array of objects
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.
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
components.prepaid_duration_step
integer
Step size in months for the initial prepaid duration at order creation. If set, only multiples of this value (starting from min_prepaid_duration) are valid. Defaults to 1 (any value between min and max).
components.min_renewal_duration
integer
Minimum number of months allowed for a renewal.
components.max_renewal_duration
integer
Maximum number of months allowed for a renewal.
components.renewal_duration_step
integer
Step size in months for renewal. Only multiples of this value (starting from min_renewal_duration) are valid. Defaults to 1.
plugin_options
any
secret_options
any
service_attributes
object (free-form)
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.
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_formula
string
Volume discount formula evaluated with the billed quantity bound to usage; returns a discount percentage (clamped to 0-100). Empty means no discount. Example: '10 if usage >= 100 else 0'.
plans.components.discount_aggregation
any
Whether the volume discount is computed on a single resource's usage or aggregated across all of the customer's resources of this offering.
plans.components.discount_description
string
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
string
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
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
Country code (ISO 3166-1 alpha-2)
backend_id
string
backend_id_rules
object (free-form)
Validation rules for resource backend_id: format regex and uniqueness scope.
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
tags
array of objects
tags.uuid
string (uuid)
tags.name
string
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
object (free-form)
has_compliance_requirements
boolean
billing_type_classification
string
Classify offering components by billing type. Returns 'limit_only', 'usage_only', or 'mixed'.
effective_available_limits
array of strings
compliance_checklist
string (uri)
profile_uuid
string (uuid)
profile_name
string
offering_group
string (uri)
offering_group_uuid
string (uuid)
offering_group_title
string
integration_status
array of objects
integration_status.agent_type
any
integration_status.status
string
integration_status.last_request_timestamp
string (date-time)
integration_status.service_name
string
google_calendar_is_public
boolean
google_calendar_link
string
Get the Google Calendar link for an offering.
Delete a provider offering
Deletes a provider offering. Only possible for offerings in a Draft state with no associated resources.
This endpoint provides a configuration file for GLauth.
It is intended to be used by an external agent to synchronize user data from Waldur to GLauth.
Example output format:
```
[[users]]
name = "johndoe"
givenname="John"
sn="Doe"
mail = "john.doe@example.com"
...
[[groups]]
name = "group1"
gidnumber = 1001
```
Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_before
string (date-time)
Created before
customer
string (uri)
Customer URL
customer_uuid
string (uuid)
Customer UUID
description
string
Description contains
has_active_terms_of_service
boolean
Has Active Terms of Service
has_terms_of_service
boolean
Has Terms of Service
importable
string
Filter by importable offerings.
keyword
string
Keyword
modified
string (date-time)
Modified after
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
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 service accounts for an offering
Returns a paginated list of customer-level service accounts for customers who have resources of this offering.
Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_before
string (date-time)
Created before
customer
string (uri)
Customer URL
customer_uuid
string (uuid)
Customer UUID
description
string
Description contains
has_active_terms_of_service
boolean
Has Active Terms of Service
has_terms_of_service
boolean
Has Terms of Service
importable
string
Filter by importable offerings.
keyword
string
Keyword
modified
string (date-time)
Modified after
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
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
customer
string (uuid)
customer_uuid
string (uuid)
customer_name
string
List customer users for an offering
Returns a paginated list of users who have access to resources of this offering.
Reason why the user was deactivated. Visible to staff and support.
is_admin_deactivated
boolean
Designates that the user was deactivated by an administrator and must not be reactivated automatically by the role-sync task. Visible to staff and support.
List project service accounts for an offering
Returns a paginated list of project-level service accounts for projects that have resources of this offering.
Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_before
string (date-time)
Created before
customer
string (uri)
Customer URL
customer_uuid
string (uuid)
Customer UUID
description
string
Description contains
has_active_terms_of_service
boolean
Has Active Terms of Service
has_terms_of_service
boolean
Has Terms of Service
importable
string
Filter by importable offerings.
keyword
string
Keyword
modified
string (date-time)
Modified after
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
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 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.
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.
Unique internal name of the measured unit, for example floating_ip.
name
string
✓
Display name for the measured unit, for example, Floating IP.
description
string
measured_unit
string
Unit of measurement, for example, GB.
unit_factor
integer
The conversion factor from backend units to measured_unit
limit_period
any
limit_amount
integer
article_code
string
max_value
integer
min_value
integer
max_available_limit
integer
is_boolean
boolean
default_limit
integer
is_prepaid
boolean
overage_component
string (uuid)
min_prepaid_duration
integer
max_prepaid_duration
integer
prepaid_duration_step
integer
Step size in months for the initial prepaid duration at order creation. If set, only multiples of this value (starting from min_prepaid_duration) are valid. Defaults to 1 (any value between min and max).
min_renewal_duration
integer
Minimum number of months allowed for a renewal.
max_renewal_duration
integer
Maximum number of months allowed for a renewal.
renewal_duration_step
integer
Step size in months for renewal. Only multiples of this value (starting from min_renewal_duration) are valid. Defaults to 1.
201 - No response body
Remove an offering component
Removes a custom component from an offering. Built-in components cannot be removed.
Unique internal name of the measured unit, for example floating_ip.
name
string
✓
Display name for the measured unit, for example, Floating IP.
description
string
measured_unit
string
Unit of measurement, for example, GB.
unit_factor
integer
The conversion factor from backend units to measured_unit
limit_period
any
limit_amount
integer
article_code
string
max_value
integer
min_value
integer
max_available_limit
integer
is_boolean
boolean
default_limit
integer
is_prepaid
boolean
overage_component
string (uuid)
min_prepaid_duration
integer
max_prepaid_duration
integer
prepaid_duration_step
integer
Step size in months for the initial prepaid duration at order creation. If set, only multiples of this value (starting from min_prepaid_duration) are valid. Defaults to 1 (any value between min and max).
min_renewal_duration
integer
Minimum number of months allowed for a renewal.
max_renewal_duration
integer
Maximum number of months allowed for a renewal.
renewal_duration_step
integer
Step size in months for renewal. Only multiples of this value (starting from min_renewal_duration) are valid. Defaults to 1.
200 - No response body
Software Catalogs and Partitions
Add a partition to an offering
Adds a new partition configuration to an offering.
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
components.prepaid_duration_step
integer
Step size in months for the initial prepaid duration at order creation. If set, only multiples of this value (starting from min_prepaid_duration) are valid. Defaults to 1 (any value between min and max).
components.min_renewal_duration
integer
Minimum number of months allowed for a renewal.
components.max_renewal_duration
integer
Maximum number of months allowed for a renewal.
components.renewal_duration_step
integer
Step size in months for renewal. Only multiples of this value (starting from min_renewal_duration) are valid. Defaults to 1.
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.
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_formula
string
Volume discount formula evaluated with the billed quantity bound to usage; returns a discount percentage (clamped to 0-100). Empty means no discount. Example: '10 if usage >= 100 else 0'.
plans.components.discount_aggregation
any
Whether the volume discount is computed on a single resource's usage or aggregated across all of the customer's resources of this offering.
plans.components.discount_description
string
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
string
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
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
Country code (ISO 3166-1 alpha-2)
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)
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
tags
array of objects
tags.uuid
string (uuid)
tags.name
string
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
object (free-form)
has_compliance_requirements
boolean
billing_type_classification
string
Classify offering components by billing type. Returns 'limit_only', 'usage_only', or 'mixed'.
effective_available_limits
array of strings
compliance_checklist
string (uri)
profile_uuid
string (uuid)
profile_name
string
offering_group
string (uri)
offering_group_uuid
string (uuid)
offering_group_title
string
user_has_consent
boolean
is_accessible
boolean
open_for_proposals
boolean
config_drive_default
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)
Set offering backend metadata
Updates the backend-specific metadata for an offering.
If set to True, offering users will be automatically marked for deletion by the cleanup task when users lose project access. If False (default), deletion must be triggered manually by the service provider. Constraints: default: False
Skip approval of public offering belonging to the same organization under which the request is done
plugin_options.disable_autoapprove
boolean
If set to True, orders for this offering will always require manual approval, overriding auto_approve_in_service_provider_projects
plugin_options.supports_downscaling
boolean
If set to True, it will be possible to downscale resources
plugin_options.supports_pausing
boolean
If set to True, it will be possible to pause resources
plugin_options.disable_grace_period
boolean
If set to True, this offering's resources ignore the project grace period and are terminated on the project end date. Only staff can change this option.
plugin_options.action_on_usage_limit
any
If set to 'pause' or 'downscale', resources are automatically paused or downscaled when reported usage in the current period reaches a component's limit_amount, and the restriction is lifted when usage drops below the limit again (e.g. a new billing period or a raised limit).
Required user role in a project for provisioning of resources
plugin_options.restricted_to_roles
array of strings
List of project or organization role names (e.g. 'PROJECT.MANAGER') allowed to view and order this offering. When set, the offering is hidden from the catalog for other users and they cannot create orders for it. Whether their orders skip consumer review still depends on the role having the order-approval permission.
plugin_options.auto_approve_for_roles
array of strings
List of project or organization role names (e.g. 'PROJECT.MANAGER') whose orders skip consumer review for this offering. The creator must hold the role on the target project or its organization. Independent of restricted_to_roles (which governs visibility/ordering) and of the ORDER.APPROVE permission. Provider review and purchase-order requirements still apply. Only staff can change this option.
plugin_options.enable_purchase_order_upload
boolean
If set to True, users will be able to upload purchase orders.
plugin_options.require_purchase_order_upload
boolean
If set to True, users will be required to upload purchase orders.
plugin_options.conceal_billing_data
boolean
If set to True, pricing and components tab would be concealed.
If set to True, users without RESOURCE.SET_END_DATE can request an end date change, and holders of that permission approve or reject. Approval writes the date directly; no order is created. Requests are published as events so an external approval system can decide instead. Not applicable to prepaid offerings, which extend through renewal instead.
plugin_options.enable_resource_projects
boolean
Enable sub-project management within resources.
plugin_options.enable_membership_sync_status
boolean
Enable per-member sync status reporting by the site agent: team views show whether each role grant has propagated to the provider backend, and providers can trigger a resync.
plugin_options.enable_resource_access_subnets
boolean
If set to True, an Access subnets tab is shown on resource detail pages, letting consumers curate the IPs allowed to reach the backend entity. The list is advisory data for external firewalls.
If set to True, a resource of this offering that has access subnets is hidden from the consumer API unless the caller's IP is in the resource's allow-list. Staff and support are exempt; resources without any subnet stay visible.
plugin_options.resource_projects_limit_policy
any
How parent resource limits are enforced on child resource projects: 'none' (accepted as-is, default), 'per_project' (each resource project limit must be within the parent resource limit), or 'aggregate' (the sum of all resource project limits must be within the parent limit).
plugin_options.auto_ok_resource_projects
boolean
If set to True, newly-created resource projects are immediately transitioned from CREATING to OK on save, bypassing the provider/site-agent reconciliation callback. Use for offerings that have no external backend to reconcile against.
plugin_options.resource_projects_limits_required
boolean
If set to True, every limit-billing component declared by the offering must have a value when creating or updating a resource project. Use this for backends that reject projects without resource quotas (e.g. the rancher-keycloak-operator's project-level resourceQuota.limit cap).
If set to True, offering cannot be deleted while it has non-terminated resources.
plugin_options.resource_name_pattern
string
Python format string for generating resource names. Available variables: {customer_name}, {customer_slug}, {project_name}, {project_slug}, {offering_name}, {offering_slug}, {plan_name}, {counter}, {attributes[KEY]}.
plugin_options.resource_slug_template
string
Template for resource slugs, overriding the default 10-character slugified name. Available variables: {customer_slug}, {project_slug}, {project_name}, {offering_slug}, {year}, {month}, {counter}, {counter_padded}. Default: slugified resource name (max 10 characters).
plugin_options.resource_slug_max_length
integer
Maximum length of auto-generated resource slugs derived from the resource name, overriding the default of 10 characters (up to 40). Ignored when a resource slug template is set.
plugin_options.default_internal_network_mtu
integer
If set, it will be used as a default MTU for the first network in a tenant
plugin_options.max_instances
integer
Default limit for number of instances in OpenStack tenant
plugin_options.max_volumes
integer
Default limit for number of volumes in OpenStack tenant
plugin_options.max_security_groups
integer
Default limit for number of security groups in OpenStack tenant
plugin_options.storage_mode
any
Storage mode for OpenStack offering
plugin_options.snapshot_size_limit_gb
integer
Default limit for snapshot size in GB
plugin_options.lbaas_enabled
boolean
If True, Octavia LBaaS (load balancers) is intended to be available for tenants from this offering.
plugin_options.usage_poll_interval_minutes
integer
Interval in minutes between usage polling for this offering (default: 60)
plugin_options.billing_source
any
Source for OpenStack instance compute ComponentUsage: 'quota' (flavor-derived Nova quota, default) or 'placement' (Placement allocations; also bills VGPU/PCI/custom resource classes).
Manage a POSIX/LDAP account (UID, GID, home directory, login shell and GLAuth exposure) for this offering's users. Disable for offerings that only need a username. Constraints: default: True
plugin_options.resource_role_map
object (free-form)
Mapping of Waldur role names (on Resource scope) to emitted role tokens used in group name rendering. Roles outside the map are skipped. Example: {"PI": "admin", "Member": "member"}.
plugin_options.resource_project_role_map
object (free-form)
Mapping of Waldur role names (on ResourceProject scope) to emitted role tokens. Same semantics as resource_role_map.
plugin_options.resource_role_group_template
string
string.Template for resource-scope role group names. Variables: ${role_name}, ${resource_slug}, ${customer_slug}, ${project_slug}. Constraints: default: ${resource_slug}_${role_name}
string.Template for resource-project-scope role group names. Adds ${rp_uuid}, ${rp_uuid_short}, ${project_name} to the variables available for resource-scope templates. Constraints: default: ${resource_slug}_${rp_uuid_short}_${role_name}
plugin_options.username_anonymized_prefix
string
GLAuth prefix for anonymized usernames Constraints: default: waldur_
Default login shell assigned to GLAuth/LDAP accounts. Constraints: default: /bin/bash
plugin_options.uid_source
any
Where each offering user's UID comes from: allocated from the POSIX ID pool (default), or taken from the user's uid_number attribute (e.g. an OIDC claim). Pair 'user_attribute' with a GID-only pool to avoid UID collisions. Constraints: default: pool
plugin_options.gid_source
any
Where each offering user's primary GID comes from: the POSIX ID pool (default), or the user's primary_gid attribute. Constraints: default: pool
plugin_options.emit_display_name
boolean
Emit the user's full name as a GLAuth displayName custom attribute (rendered to LDAP displayName). Constraints: default: False
plugin_options.emit_waldur_username
boolean
Emit the Waldur username as a GLAuth waldurUsername custom attribute, alongside the generated POSIX login name. Constraints: default: False
Enable display of order actions for service provider Constraints: default: True
plugin_options.slurm_periodic_policy_enabled
boolean
Enable SLURM periodic usage policy configuration. When enabled, allows configuring QoS-based threshold enforcement, carryover logic, and fairshare decay for site-agent managed SLURM offerings. Constraints: default: False
plugin_options.enforce_qos
boolean
When enabled, the site agent enforces the offering's QoS selection by granting the chosen QoS on the SLURM association (QosLevel/DefaultQOS). When disabled (default), QoS is informational only — profiles are shown and the selection is recorded on the resource, but the agent does not touch SLURM QoS. The agent config may override this per deployment. Constraints: default: False
plugin_options.auto_approve_marketplace_script
boolean
If set to False, all orders require manual provider approval, including for service provider owners and staff Constraints: default: True
plugin_options.highlight_backend_id_display
boolean
Defines if backend_id should be shown more prominently by the UI Constraints: default: False
plugin_options.backend_id_display_label
string
Label used by UI for showing value of the backend_id Constraints: default: Backend ID
If set to True, highlighted backend ID display is only shown when the resource has an effective_id. Constraints: default: False
plugin_options.expose_inference_playground
boolean
Show an in-browser inference playground action for resources of this offering (for offerings whose resources expose an OpenAI-compatible endpoint). Constraints: default: False
plugin_options.disabled_resource_actions
array of strings
List of disabled marketplace resource actions for this offering.
plugin_options.show_ssh_key_loss_warning
boolean
Show a warning about unrecoverable loss of the SSH private key on the OpenStack instance order form. Constraints: default: False
service_attributes
object (free-form)
backend_id
string
200 - No response body
Update offering location
Updates the geographical location (latitude and longitude) of an offering.
Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_before
string (date-time)
Created before
customer
string (uri)
Customer URL
customer_uuid
string (uuid)
Customer UUID
description
string
Description contains
end
string
End date in format YYYY-MM.
has_active_terms_of_service
boolean
Has Active Terms of Service
has_terms_of_service
boolean
Has Terms of Service
importable
string
Filter by importable offerings.
keyword
string
Keyword
modified
string (date-time)
Modified after
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
start
string
Start date in format YYYY-MM.
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
period
string
billing_period
string
date
string
usage
integer
description
string
measured_unit
string
type
string
name
string
Get costs for an offering
Returns monthly cost data for an offering within a specified date range.
Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
accounting_is_running
boolean
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_before
string (date-time)
Created before
customer
string (uri)
Customer URL
customer_uuid
string (uuid)
Customer UUID
description
string
Description contains
end
string
End date in format YYYY-MM.
has_active_terms_of_service
boolean
Has Active Terms of Service
has_terms_of_service
boolean
Has Terms of Service
importable
string
Filter by importable offerings.
keyword
string
Keyword
modified
string (date-time)
Modified after
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
start
string
Start date in format YYYY-MM.
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
period
string
Billing period (YYYY-MM)
price
number (double)
Price amount excluding tax
tax
number (double)
Tax amount
total
number (double)
Total amount including tax
Get customers for an offering
Returns a paginated list of customers who have resources for this offering.
Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_before
string (date-time)
Created before
customer
string (uri)
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
importable
string
Filter by importable offerings.
keyword
string
Keyword
modified
string (date-time)
Modified after
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
uuid
string (uuid)
name
string
slug
string
abbreviation
string
phone_number
string
email
string (email)
List offerings grouped by provider
Returns a paginated list of active, shared offerings grouped by their service provider.
Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_before
string (date-time)
Created before
customer
string (uri)
Customer URL
customer_uuid
string (uuid)
Customer UUID
description
string
Description contains
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
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
customer_name
string
customer_uuid
string
offerings
array of objects
offerings.offering_name
string
Name of the offering
offerings.offering_uuid
string (uuid)
UUID of the offering
List customer projects for an offering
Returns a paginated list of projects that have consumed resources of this offering.
Public data used by specific plugin, such as storage mode for OpenStack.
provider_name
string
provider_uuid
string (uuid)
provider_slug
string
provider_description
string
category_title
string
category_uuid
string (uuid)
category_icon
string (uri)
plan
string (uri)
plan_unit
any
plan_name
string
plan_uuid
string (uuid)
plan_description
string
attributes
object (free-form)
limits
object (free-form)
uuid
string (uuid)
created
string (date-time)
modified
string (date-time)
url
string (uri)
scope
string
description
string
state
any
resource_uuid
string (uuid)
backend_id
string
effective_id
string
resource_type
string
project
string (uri)
project_uuid
string (uuid)
project_name
string
project_description
string
project_end_date
string (date)
The date is inclusive. Once reached, all project resource will be scheduled for termination.
project_effective_end_date
string (date)
Effective project end date including grace period. After this date, resources are terminated, except resources of offerings that disable the grace period — those are terminated on the raw project end date.
resource_effective_end_date
string (date)
The date this resource is scheduled to terminate: the earliest of its own end date and the project-driven termination date (the raw project end date if the offering disables the grace period, otherwise the effective with-grace end date).
project_is_in_grace_period
boolean
True if the project is past its end date but still within the grace period.
project_end_date_requested_by
string (uri)
customer_uuid
string (uuid)
customer_name
string
offering_slug
string
parent_offering_uuid
string (uuid)
parent_offering_name
string
parent_offering_slug
string
offering_backend_id
string
parent_uuid
string (uuid)
parent_name
string
backend_metadata
any
is_usage_based
boolean
Returns True if the resource has usage-based components that track variable consumption.
is_limit_based
boolean
Returns True if the resource has limit-based components with user-adjustable quotas.
name
string
slug
string
URL-friendly identifier. Only editable by staff users.
current_usages
object (free-form)
Dictionary mapping component types to their latest reported usage amounts.
can_terminate
boolean
report
array of objects
report.header
string
Section header text
report.body
string
Section body content
end_date
string (date)
The date is inclusive. Once reached, a resource will be scheduled for termination.
end_date_requested_by
string (uri)
end_date_updated_at
string (date-time)
Timestamp of the last end_date change.
username
string
limit_usage
object (free-form)
Dictionary mapping limit-based component types to their consumed usage. Sums the ComponentUsage rows of the component's current period (the monthly billing period unless the component defines a longer limit_period), i.e. the period's high-watermark rather than the instantaneous current_usages value.
downscaled
boolean
restrict_member_access
boolean
paused
boolean
usage_limit_restriction
any
Which restriction (paused or downscaled) was automatically applied because reported usage reached a component limit. Empty when no such restriction is active. Used so the automatic lift never clears a restriction that was set for another reason.
endpoints
array of objects
endpoints.uuid
string (uuid)
endpoints.name
string
endpoints.url
string
URL of the access endpoint
error_message
string
error_traceback
string
options
object (free-form)
available_actions
array of strings
last_sync
string (date-time)
order_in_progress
any
creation_order
any
service_settings_uuid
string (uuid)
project_slug
string
customer_slug
string
user_requires_reconsent
boolean
Check if the current user needs to re-consent for this resource's offering.
renewal_date
object (free-form)
offering_state
any
offering_components
array of objects
offering_components.uuid
string (uuid)
offering_components.offering_uuid
string (uuid)
offering_components.billing_type
string
Enum: fixed, usage, limit, one, few
offering_components.type
string
Unique internal name of the measured unit, for example floating_ip.
offering_components.name
string
Display name for the measured unit, for example, Floating IP.
offering_components.description
string
offering_components.measured_unit
string
Unit of measurement, for example, GB.
offering_components.unit_factor
integer
The conversion factor from backend units to measured_unit
offering_components.limit_period
any
offering_components.limit_amount
integer
offering_components.article_code
string
offering_components.max_value
integer
offering_components.min_value
integer
offering_components.max_available_limit
integer
offering_components.is_boolean
boolean
offering_components.default_limit
integer
offering_components.factor
integer
offering_components.is_builtin
boolean
offering_components.is_prepaid
boolean
offering_components.overage_component
string (uuid)
offering_components.min_prepaid_duration
integer
offering_components.max_prepaid_duration
integer
offering_components.prepaid_duration_step
integer
Step size in months for the initial prepaid duration at order creation. If set, only multiples of this value (starting from min_prepaid_duration) are valid. Defaults to 1 (any value between min and max).
offering_components.min_renewal_duration
integer
Minimum number of months allowed for a renewal.
offering_components.max_renewal_duration
integer
Maximum number of months allowed for a renewal.
offering_components.renewal_duration_step
integer
Step size in months for renewal. Only multiples of this value (starting from min_renewal_duration) are valid. Defaults to 1.
has_api_keys
boolean
Whether the resource owns any API keys, so the portal can offer key management without knowing which backend serves the resource.
Synchronize offering service settings
Schedules a synchronization task to pull the latest data for the offering's service settings from the backend.
Requests connected site agents to run a full reconciliation of all resources belonging to this offering: recreate missing backend accounts, restore user associations and re-apply resource limits. Useful when the provider backend has lost state, e.g. a wiped SLURM database.
Returns the access subnets consumers defined for the offering, in two forms: 'expanded' — every subnet with its customer and offering context; and 'packed' — the same subnets collapsed into the minimal set of CIDRs (adjacent/overlapping networks merged). Consumer subnets are defined per (customer, offering) pair and apply to all of that customer's resources of the offering. Intended for service providers building an external firewall allow-list. Available to staff, support, the offering's service manager and the offering customer owner.
Returns the combined access-subnet allow-list of the given offerings: 'expanded' — every consumer subnet with its customer and offering context; 'defaults' — the provider-default subnets of each offering; 'organization_subnets' — organization-level access subnets of customers owning non-terminated resources of the offerings (populated only when include_organization_subnets is true); and 'packed' — all of the above collapsed into the minimal set of CIDRs. Intended for service providers building an external firewall allow-list spanning several offerings. The caller must be staff, support, a service manager of every requested offering or an owner of its customer.
Also merge in the organization-level access subnets of customers owning non-terminated resources of the offerings.
offering_uuid
array
✓
UUID of an offering to include. May be repeated.
200 -
Field
Type
expanded
array of objects
expanded.inet
string
expanded.description
string
expanded.is_staff_managed
boolean
expanded.customer_uuid
string
expanded.customer_name
string
expanded.offering_uuid
string
expanded.offering_name
string
packed
array of strings
defaults
array of objects
defaults.inet
string
defaults.description
string
defaults.offering_uuid
string
defaults.offering_name
string
organization_subnets
array of objects
organization_subnets.inet
string
organization_subnets.description
string
organization_subnets.customer_uuid
string
organization_subnets.customer_name
string
Effective POSIX ID pool
The POSIX ID pool that governs this offering: its own override pool if present, otherwise the service provider's default pool. Returns null when no pool is configured.
Returns the same set of users, groups and robot accounts as glauth_users_config, but as a structured JSON tree suitable for navigation in admin UIs. Source of truth for the TOML endpoint.
Deprecated: offerings accepted on an active call, regardless of whether a proposal can actually be submitted for them. Use open_for_proposals instead.
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
consumer_customer_uuid
string (uuid)
Consumer customer UUID
created
string (date-time)
Created after
created_after
string
Filter versions created after this timestamp (ISO 8601)
created_before
string
Filter versions created before this timestamp (ISO 8601)
customer
string (uri)
Customer URL
customer_uuid
string (uuid)
Customer UUID
description
string
Description contains
has_active_terms_of_service
boolean
Has Active Terms of Service
has_terms_of_service
boolean
Has Terms of Service
importable
string
Filter by importable offerings.
keyword
string
Keyword
modified
string (date-time)
Modified after
modified_before
string (date-time)
Modified before
name
string
Name
name_exact
string
Name (exact)
o
array
Ordering
offering_group_uuid
string (uuid)
Offering group UUID
open_for_proposals
boolean
Offerings that can be requested through a call right now: accepted on an active call with a round that is open, and covered by a resource template when the call defines any.
organization_group_uuid
string (uuid)
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
slug
string
Slug
state
array
Offering state
tag
array
Tag UUID (OR logic)
tag_name
array
Tag name (OR logic)
tag_names_and
string
Tag names with AND logic (comma-separated)
tags_and
string
Tag UUIDs with AND logic (comma-separated)
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
id
integer
Version ID
revision_date
string (date-time)
When this revision was created
revision_user
object (free-form)
User who created this revision
revision_comment
string
Comment describing the revision
serialized_data
object (free-form)
Serialized model fields at this revision
Get offering resource and user state counters
Returns resource and offering-user counts grouped by state for the given offering.
Checks if the provided backend_id has been used in resources of this offering or all offerings of the same customer. Returns true if unique, false if already used.
Include offering components in export Constraints: default: True
include_plans
boolean
Include offering plans in export Constraints: default: True
include_screenshots
boolean
Include offering screenshots in export Constraints: default: True
include_files
boolean
Include offering files in export Constraints: default: True
include_endpoints
boolean
Include offering access endpoints in export Constraints: default: True
include_organization_groups
boolean
Include organization groups associations in export Constraints: default: True
include_terms_of_service
boolean
Include terms of service configurations in export Constraints: default: True
include_plugin_options
boolean
Include plugin options in export Constraints: default: True
include_secret_options
boolean
Include secret options in export (WARNING: sensitive data) Constraints: default: False
include_attributes
boolean
Include offering attributes in export Constraints: default: True
include_options
boolean
Include offering options in export Constraints: default: True
include_resource_options
boolean
Include resource options in export Constraints: default: True
200 -
Field
Type
Description
offering_uuid
string (uuid)
UUID of the exported offering
offering_name
string
Name of the exported offering
export_data
any
Complete export data containing the offering structure
exported_components
array of strings
List of exported component types
export_timestamp
string (date-time)
Timestamp when the export was completed
Import offering data
Imports an offering and all its connected parts from YAML format. Allows configuration of which components to import and how to handle conflicts. Imported offerings are always created in DRAFT state for security.
Sets the offering's offering_group FK. Pass offering_group: <uuid> to assign a group, or offering_group: null to clear it. The group must belong to the same customer as the offering.
CPU architecture of the partition (e.g., x86_64/amd/zen3)
gpu_arch
string
GPU architecture of the partition (e.g., nvidia/cc90, amd/gfx90a)
cpu_bind
integer
Default task binding policy (SLURM cpu_bind)
def_cpu_per_gpu
integer
Default CPUs allocated per GPU
max_cpus_per_node
integer
Maximum allocated CPUs per node
max_cpus_per_socket
integer
Maximum allocated CPUs per socket
def_mem_per_cpu
integer (int64)
Default memory per CPU in MB
def_mem_per_gpu
integer (int64)
Default memory per GPU in MB
def_mem_per_node
integer (int64)
Default memory per node in MB
max_mem_per_cpu
integer (int64)
Maximum memory per CPU in MB
max_mem_per_node
integer (int64)
Maximum memory per node in MB
default_time
integer
Default time limit in minutes
max_time
integer
Maximum time limit in minutes
grace_time
integer
Preemption grace time in seconds
max_nodes
integer
Maximum nodes per job
min_nodes
integer
Minimum nodes per job
exclusive_topo
boolean
Exclusive topology access required
exclusive_user
boolean
Exclusive user access required
priority_tier
integer
Priority tier for scheduling and preemption
qos
string
Quality of Service (QOS) name
qos_options
array of objects
qos_options.uuid
string (uuid)
qos_options.qos
string (uuid)
qos_options.qos_name
string
qos_options.is_default
boolean
Default QOS for this partition (seeds SLURM DefaultQOS).
req_resv
boolean
Require reservation for job allocation
Bind / unbind offering to a service profile
Sets the offering's profile FK. Pass profile: <uuid> to bind, or profile: null to unbind. Requires UPDATE_OFFERING permission on the offering's customer (service-provider owners and staff). Triggers async reconciliation of RoleAvailability rows on this offering against the profile's role catalog (or wipes them on unbind).
OfferingProfile UUID to bind to. Pass null to unbind.
200 - No response body
Switch billing mode for builtin components
Switches all builtin components between monthly (LIMIT), prepaid (ONE_TIME + is_prepaid), and usage-based billing modes. Works for any offering type that has registered builtin components.
Changes the offering's type between Marketplace.Basic and the site-agent type (Marketplace.Slurm). Both plugins share the same data shape (the site-agent processors inherit from Basic and only delegate the send paths to the external agent), so the swap is safe in either direction. Refused if the offering's current type is not in the swappable set.