Skip to content

Booking Offerings

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/booking-offerings/ List Booking Offerings
GET /api/booking-offerings/{uuid}/ Retrieve
Other Actions
POST /api/booking-offerings/{uuid}/google_calendar_sync/ Google calendar sync
POST /api/booking-offerings/{uuid}/share_google_calendar/ Share google calendar
POST /api/booking-offerings/{uuid}/unshare_google_calendar/ Unshare google calendar

Core CRUD

List Booking Offerings

1
2
3
4
http \
  GET \
  https://api.example.com/api/booking-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.booking_offerings import booking_offerings_list # (1)

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

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

try {
  const response = await bookingOfferingsList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
field array
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.

200 -

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

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
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
compliance_checklist string (uri)
user_has_consent boolean
googlecalendar object
googlecalendar.backend_id string
googlecalendar.public boolean
googlecalendar.http_link string

Retrieve

1
2
3
4
http \
  GET \
  https://api.example.com/api/booking-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.booking_offerings import booking_offerings_retrieve # (1)

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

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

try {
  const response = await bookingOfferingsRetrieve({
  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
compliance_checklist string (uri)
user_has_consent boolean
googlecalendar object
googlecalendar.backend_id string
googlecalendar.public boolean
googlecalendar.http_link string

Other Actions

Google calendar sync

1
2
3
4
http \
  POST \
  https://api.example.com/api/booking-offerings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/google_calendar_sync/ \
  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.booking_offerings import booking_offerings_google_calendar_sync # (1)

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

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

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

200 - No response body


Share google calendar

1
2
3
4
http \
  POST \
  https://api.example.com/api/booking-offerings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/share_google_calendar/ \
  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.booking_offerings import booking_offerings_share_google_calendar # (1)

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

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

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

200 - No response body


Unshare google calendar

1
2
3
4
http \
  POST \
  https://api.example.com/api/booking-offerings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/unshare_google_calendar/ \
  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.booking_offerings import booking_offerings_unshare_google_calendar # (1)

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

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

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

200 - No response body