Skip to content

Marketplace Plans

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/marketplace-plans/ List provider plans
GET /api/marketplace-plans/{uuid}/ Retrieve a provider plan
POST /api/marketplace-plans/ Create a provider plan
POST /api/marketplace-plans/{uuid}/update_discounts/ Update plan component discounts
POST /api/marketplace-plans/{uuid}/update_organization_groups/ Update organization groups for a plan
POST /api/marketplace-plans/{uuid}/update_prices/ Update plan component prices
POST /api/marketplace-plans/{uuid}/update_quotas/ Update plan component quotas
PUT /api/marketplace-plans/{uuid}/ Update a provider plan
PATCH /api/marketplace-plans/{uuid}/ Partially update a provider plan
DELETE /api/marketplace-plans/{uuid}/ Delete a provider plan
Other Actions
GET /api/marketplace-plans/usage_stats/ Get plan usage statistics
POST /api/marketplace-plans/{uuid}/archive/ Archive a plan
POST /api/marketplace-plans/{uuid}/delete_organization_groups/ Remove all organization groups from a plan

Core CRUD

List provider plans

Returns a paginated list of plans managed by the provider. The list is filtered based on the current user's access to the offering's customer.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-plans/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_plans import marketplace_plans_list # (1)

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

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

try {
  const response = await marketplacePlansList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
offering string
offering_slug array Multiple values may be separated by commas.
offering_uuid string (uuid) Offering UUID
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
parent_offering_uuid string (uuid)

200 -

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

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

Retrieve a provider plan

Returns details of a specific plan.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_plans import marketplace_plans_retrieve # (1)

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

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

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

200 -

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

Create a provider plan

Creates a new billing plan for an offering.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/marketplace-plans/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-marketplace-plan" \
  offering="https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.provider_plan_details_request import ProviderPlanDetailsRequest # (1)
from waldur_api_client.api.marketplace_plans import marketplace_plans_create # (2)

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

body_data = ProviderPlanDetailsRequest(
    name="my-awesome-marketplace-plan",
    offering="https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = marketplace_plans_create.sync(
    client=client,
    body=body_data
)

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

try {
  const response = await marketplacePlansCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "name": "my-awesome-marketplace-plan",
    "offering": "https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
name string
description string
article_code string
max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
archived boolean Forbids creation of new resources.
unit_price string (decimal)
unit string
Enum: month, quarter, half_month, day, hour, quantity
backend_id string
offering string (uri)

201 -

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

Update plan component discounts

1
2
3
4
5
6
7
8
9
    Update volume discount configuration for plan components.

    This endpoint allows updating discount thresholds and rates for multiple
    plan components in a single request. Discounts are applied automatically
    when limit quantities meet or exceed the threshold.

    The discount configuration affects future billing:
    - Creates separate invoice items showing the discount.
    - Can be enabled or disabled per component.
1
2
3
4
5
http \
  POST \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_discounts/ \
  Authorization:"Token YOUR_API_TOKEN" \
  discounts:='{}'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.discounts_update_request import DiscountsUpdateRequest # (1)
from waldur_api_client.api.marketplace_plans import marketplace_plans_update_discounts # (2)

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

body_data = DiscountsUpdateRequest(
    discounts={}
)
response = marketplace_plans_update_discounts.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await marketplacePlansUpdateDiscounts({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "discounts": {}
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
discounts object (free-form) Dictionary mapping component types to their discount configuration.

200 - No response body


Update organization groups for a plan

Sets the list of organization groups that are allowed to access this plan. If the list is empty, the plan is accessible to all.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_organization_groups/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.organization_groups_request import OrganizationGroupsRequest # (1)
from waldur_api_client.api.marketplace_plans import marketplace_plans_update_organization_groups # (2)

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

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

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

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

200 - No response body


Update plan component prices

Updates the prices for one or more components of a specific plan. If the plan is already in use by resources, this action updates the future_price, which will be applied from the next billing period. Otherwise, the current price is updated directly.

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_prices/ \
  Authorization:"Token YOUR_API_TOKEN" \
  prices:='{}'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.prices_update_request import PricesUpdateRequest # (1)
from waldur_api_client.api.marketplace_plans import marketplace_plans_update_prices # (2)

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

body_data = PricesUpdateRequest(
    prices={}
)
response = marketplace_plans_update_prices.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

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

200 - No response body


Update plan component quotas

Updates the quotas (fixed amounts) for one or more components of a specific plan. This is only applicable for components with a 'fixed-price' billing type.

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_quotas/ \
  Authorization:"Token YOUR_API_TOKEN" \
  quotas:='{}'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.quotas_update_request import QuotasUpdateRequest # (1)
from waldur_api_client.api.marketplace_plans import marketplace_plans_update_quotas # (2)

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

body_data = QuotasUpdateRequest(
    quotas={}
)
response = marketplace_plans_update_quotas.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

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

200 - No response body


Update a provider plan

Updates an existing plan. Note: A plan cannot be updated if it is already used by resources.

1
2
3
4
5
6
http \
  PUT \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-marketplace-plan" \
  offering="https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.provider_plan_details_request import ProviderPlanDetailsRequest # (1)
from waldur_api_client.api.marketplace_plans import marketplace_plans_update # (2)

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

body_data = ProviderPlanDetailsRequest(
    name="my-awesome-marketplace-plan",
    offering="https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = marketplace_plans_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await marketplacePlansUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-marketplace-plan",
    "offering": "https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
article_code string
max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
archived boolean Forbids creation of new resources.
unit_price string (decimal)
unit string
Enum: month, quarter, half_month, day, hour, quantity
backend_id string
offering string (uri)

200 -

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

Partially update a provider plan

Partially updates an existing plan. Note: A plan cannot be updated if it is already used by resources.

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

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

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

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

try {
  const response = await marketplacePlansPartialUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
article_code string
max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
archived boolean Forbids creation of new resources.
unit_price string (decimal)
unit string
Enum: month, quarter, half_month, day, hour, quantity
backend_id string

200 -

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

Delete a provider plan

Deletes a plan. This is a hard delete and should be used with caution.

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_plans import marketplace_plans_destroy # (1)

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

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

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

204 - No response body


Other Actions

Get plan usage statistics

Returns aggregated statistics on how many resources are currently using each plan. Can be filtered by offering or service provider.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-plans/usage_stats/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_plans import marketplace_plans_usage_stats_list # (1)

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

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

try {
  const response = await marketplacePlansUsageStatsList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
customer_provider_uuid string (uuid) Filter by service provider's customer UUID.
o string Ordering field. Available options: usage, limit, remaining, and their descending counterparts (e.g., -usage).
offering string
offering_slug array Multiple values may be separated by commas.
offering_uuid string (uuid) Filter by offering UUID.
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
parent_offering_uuid string (uuid)

200 -

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

Field Type
plan_uuid string (uuid)
plan_name string
limit integer
usage integer
remaining integer
offering_uuid string (uuid)
offering_name string
customer_provider_uuid string (uuid)
customer_provider_name string

Archive a plan

Marks a plan as archived. Archived plans cannot be used for provisioning new resources, but existing resources will continue to be billed according to this plan.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/archive/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_plans import marketplace_plans_archive # (1)

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

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

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


Remove all organization groups from a plan

Removes all organization group associations from this plan, making it accessible to all users (subject to offering-level restrictions).

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-plans/a1b2c3d4-e5f6-7890-abcd-ef1234567890/delete_organization_groups/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_plans import marketplace_plans_delete_organization_groups # (1)

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

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

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

204 - No response body