Skip to content

Marketplace Orders

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/marketplace-orders/ List orders
GET /api/marketplace-orders/{uuid}/ Retrieve an order
POST /api/marketplace-orders/ Create an order
POST /api/marketplace-orders/{uuid}/unlink/ Unlink an order (staff only)
DELETE /api/marketplace-orders/{uuid}/ Delete a pending order
State Management
POST /api/marketplace-orders/{uuid}/approve_by_consumer/ Approve an order (consumer)
POST /api/marketplace-orders/{uuid}/approve_by_provider/ Approve an order (provider)
POST /api/marketplace-orders/{uuid}/cancel/ Cancel an order
POST /api/marketplace-orders/{uuid}/reject_by_consumer/ Reject an order (consumer)
POST /api/marketplace-orders/{uuid}/reject_by_provider/ Reject an order (provider)
POST /api/marketplace-orders/{uuid}/set_state_done/ Set order state to done (agent)
POST /api/marketplace-orders/{uuid}/set_state_erred/ Set order state to erred (agent)
POST /api/marketplace-orders/{uuid}/set_state_executing/ Set order state to executing (agent)
Configuration & Updates
POST /api/marketplace-orders/{uuid}/delete_attachment/ Delete order attachment
POST /api/marketplace-orders/{uuid}/set_backend_id/ Set order backend ID
POST /api/marketplace-orders/{uuid}/update_attachment/ Update order attachment
Data & Reporting
GET /api/marketplace-orders/{uuid}/offering/ Get offering details

Core CRUD

List orders

Returns a paginated list of orders accessible to the current user. Orders are visible to service consumers (project/customer members with appropriate permissions) and service providers.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-orders/ \
  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_orders import marketplace_orders_list # (1)

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

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

try {
  const response = await marketplaceOrdersList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
can_approve_as_consumer boolean Can approve as consumer
can_approve_as_provider boolean Can approve as provider
category_uuid string (uuid) Category UUID
created string (date-time) Created after
customer_uuid string (uuid) Customer UUID
field array
modified string (date-time) Modified after
o array Ordering

offering string
offering_slug array Multiple values may be separated by commas.
offering_type array Offering type
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)
project_uuid string (uuid) Project UUID
provider_uuid string (uuid) Provider UUID
query string Search by order UUID, slug, project name or resource name
resource string Resource URL
resource_uuid string (uuid) Resource UUID
service_manager_uuid string (uuid) Service manager UUID
state array Order state

type array Order type

200 -

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

Field Type Description
offering string (uri)
offering_name string
offering_uuid string (uuid)
offering_description string
offering_image string (uri)
offering_thumbnail string (uri)
offering_type string
offering_shared boolean Accessible to all customers.
offering_billable boolean Purchase and usage is invoiced.
offering_plugin_options any Public data used by specific plugin, such as storage mode for OpenStack.
provider_name string
provider_uuid string (uuid)
provider_slug 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 any
limits object (free-form)
uuid string (uuid)
created string (date-time)
modified string (date-time)
resource_uuid string (uuid)
resource_type string
resource_name string
cost string (decimal)
state any
output string
marketplace_resource_uuid string (uuid)
error_message string
error_traceback string
callback_url string (uri)
completed_at string (date-time)
request_comment string
attachment string (uri)
type any
start_date string (date) Enables delayed processing of resource provisioning order.
slug string
url string (uri)
consumer_reviewed_by string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
consumer_reviewed_by_full_name string
consumer_reviewed_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
consumer_reviewed_at string (date-time)
provider_reviewed_by string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
provider_reviewed_by_full_name string
provider_reviewed_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
provider_reviewed_at string (date-time)
created_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
created_by_full_name string
created_by_civil_number string
customer_name string
customer_uuid string (uuid)
customer_slug string
project_name string
project_uuid string (uuid)
project_description string
project_slug string
old_plan_name string
new_plan_name string
old_plan_uuid string (uuid)
new_plan_uuid string (uuid)
old_cost_estimate number (double)
new_cost_estimate string (decimal)
can_terminate boolean
fixed_price number (double)
activation_price number (double)
termination_comment string
backend_id string
order_subtype string
issue any

Retrieve an order

Returns the details of a specific order.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-orders/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_orders import marketplace_orders_retrieve # (1)

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

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

try {
  const response = await marketplaceOrdersRetrieve({
  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
offering string (uri)
offering_name string
offering_uuid string (uuid)
offering_description string
offering_image string (uri)
offering_thumbnail string (uri)
offering_type string
offering_shared boolean Accessible to all customers.
offering_billable boolean Purchase and usage is invoiced.
offering_plugin_options any Public data used by specific plugin, such as storage mode for OpenStack.
provider_name string
provider_uuid string (uuid)
provider_slug 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 any
limits object (free-form)
uuid string (uuid)
created string (date-time)
modified string (date-time)
resource_uuid string (uuid)
resource_type string
resource_name string
cost string (decimal)
state any
output string
marketplace_resource_uuid string (uuid)
error_message string
error_traceback string
callback_url string (uri)
completed_at string (date-time)
request_comment string
attachment string (uri)
type any
start_date string (date) Enables delayed processing of resource provisioning order.
slug string
url string (uri)
consumer_reviewed_by string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
consumer_reviewed_by_full_name string
consumer_reviewed_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
consumer_reviewed_at string (date-time)
provider_reviewed_by string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
provider_reviewed_by_full_name string
provider_reviewed_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
provider_reviewed_at string (date-time)
created_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
created_by_full_name string
created_by_civil_number string
customer_name string
customer_uuid string (uuid)
customer_slug string
project_name string
project_uuid string (uuid)
project_description string
project_slug string
old_plan_name string
new_plan_name string
old_plan_uuid string (uuid)
new_plan_uuid string (uuid)
old_cost_estimate number (double)
new_cost_estimate string (decimal)
can_terminate boolean
fixed_price number (double)
activation_price number (double)
termination_comment string
backend_id string
order_subtype string
issue any

Create an order

Creates a new order to provision a resource. The order will be placed in a pending state and may require approval depending on the offering and user permissions.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/marketplace-orders/ \
  Authorization:"Token YOUR_API_TOKEN" \
  offering="https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  project="https://api.example.com/api/project/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.order_create_request import OrderCreateRequest # (1)
from waldur_api_client.api.marketplace_orders import marketplace_orders_create # (2)

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

body_data = OrderCreateRequest(
    offering="https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    project="https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = marketplace_orders_create.sync(
    client=client,
    body=body_data
)

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

try {
  const response = await marketplaceOrdersCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "offering": "https://api.example.com/api/offering/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "project": "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
offering string (uri)
plan string (uri)
attributes any Attributes structure depends on the offering type specified in the parent object. Can also be a generic object for offerings without a specific attributes schema.
limits object (free-form)
accepting_terms_of_service boolean
Constraints: write-only
callback_url string (uri)
request_comment string
type any
Constraints: default: Create
start_date string (date) Enables delayed processing of resource provisioning order.
slug string
project string (uri)

201 -

Field Type Description
offering string (uri)
offering_name string
offering_uuid string (uuid)
offering_description string
offering_image string (uri)
offering_thumbnail string (uri)
offering_type string
offering_shared boolean Accessible to all customers.
offering_billable boolean Purchase and usage is invoiced.
offering_plugin_options any Public data used by specific plugin, such as storage mode for OpenStack.
provider_name string
provider_uuid string (uuid)
provider_slug 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 any
limits object (free-form)
uuid string (uuid)
created string (date-time)
modified string (date-time)
resource_uuid string (uuid)
resource_type string
resource_name string
cost string (decimal)
state any
output string
marketplace_resource_uuid string (uuid)
error_message string
error_traceback string
callback_url string (uri)
completed_at string (date-time)
request_comment string
attachment string (uri)
type any
start_date string (date) Enables delayed processing of resource provisioning order.
slug string
url string (uri)
consumer_reviewed_by string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
consumer_reviewed_by_full_name string
consumer_reviewed_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
consumer_reviewed_at string (date-time)
provider_reviewed_by string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
provider_reviewed_by_full_name string
provider_reviewed_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
provider_reviewed_at string (date-time)
created_by_username string Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters
created_by_full_name string
created_by_civil_number string
customer_name string
customer_uuid string (uuid)
customer_slug string
project_name string
project_uuid string (uuid)
project_description string
project_slug string
old_plan_name string
new_plan_name string
old_plan_uuid string (uuid)
new_plan_uuid string (uuid)
old_cost_estimate number (double)
new_cost_estimate string (decimal)
can_terminate boolean
fixed_price number (double)
activation_price number (double)
termination_comment string
backend_id string
order_subtype string
issue any

Forcefully deletes an order from the database without affecting the backend resource. This is a staff-only administrative action used to clean up stuck or invalid orders.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/unlink/ \
  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_orders import marketplace_orders_unlink # (1)

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

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

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


403 - No response body


Delete a pending order

Deletes an order that is still in a pending state (e.g., pending-consumer or pending-provider). Executing or completed orders cannot be deleted.

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/marketplace-orders/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_orders import marketplace_orders_destroy # (1)

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

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

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


State Management

Approve an order (consumer)

Approves a pending order from the consumer's side (e.g., project manager, customer owner). This transitions the order to the next state, which could be pending provider approval or executing.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/approve_by_consumer/ \
  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_orders import marketplace_orders_approve_by_consumer # (1)

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

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

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


Approve an order (provider)

Approves a pending order from the provider's side. This typically transitions the order to the executing state.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/approve_by_provider/ \
  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_orders import marketplace_orders_approve_by_provider # (1)

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

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

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


Cancel an order

Cancels an order. This is typically only possible for certain offering types (e.g., basic support) and in specific states (pending or executing).

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel/ \
  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_orders import marketplace_orders_cancel # (1)

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

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

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

202 - No response body


Reject an order (consumer)

Rejects a pending order from the consumer's side. This moves the order to the 'rejected' state.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/reject_by_consumer/ \
  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_orders import marketplace_orders_reject_by_consumer # (1)

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

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

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


Reject an order (provider)

Rejects a pending order from the provider's side. This moves the order to the 'rejected' state.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/reject_by_provider/ \
  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_orders import marketplace_orders_reject_by_provider # (1)

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

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

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


Set order state to done (agent)

Used by external agents (e.g., site agent) to manually transition the order state to 'done'. This is only applicable for specific offering types.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/set_state_done/ \
  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_orders import marketplace_orders_set_state_done # (1)

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

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

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


Set order state to erred (agent)

Used by external agents to report a failure during order processing. An error message and traceback can be provided.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/set_state_erred/ \
  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.order_set_state_erred_request import OrderSetStateErredRequest # (1)
from waldur_api_client.api.marketplace_orders import marketplace_orders_set_state_erred # (2)

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

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

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

try {
  const response = await marketplaceOrdersSetStateErred({
  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
error_message string
error_traceback string

200 - No response body


Set order state to executing (agent)

Used by external agents (e.g., site agent) to manually transition the order state to 'executing'. This is only applicable for specific offering types.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/set_state_executing/ \
  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_orders import marketplace_orders_set_state_executing # (1)

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

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

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


Configuration & Updates

Delete order attachment

Allows deleting an attachment from a pending order.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/delete_attachment/ \
  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_orders import marketplace_orders_delete_attachment # (1)

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

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

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


Set order backend ID

Allows a service provider or staff to set or update the backend ID associated with an order. This is useful for linking the order to an external system's identifier.

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/set_backend_id/ \
  Authorization:"Token YOUR_API_TOKEN" \
  backend_id="ext-a1b2c3d4"
 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.order_backend_id_request import OrderBackendIDRequest # (1)
from waldur_api_client.api.marketplace_orders import marketplace_orders_set_backend_id # (2)

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

body_data = OrderBackendIDRequest(
    backend_id="ext-a1b2c3d4"
)
response = marketplace_orders_set_backend_id.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

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

200 -

Field Type
status string

Update order attachment

Allows uploading or replacing a file attachment (e.g., a purchase order) for a pending order.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_attachment/ \
  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.order_attachment_request import OrderAttachmentRequest # (1)
from waldur_api_client.api.marketplace_orders import marketplace_orders_update_attachment # (2)

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

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

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

try {
  const response = await marketplaceOrdersUpdateAttachment({
  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
attachment string (binary)

200 -

Field Type
attachment string (uri)

Data & Reporting

Get offering details

Returns details of the offering connected to the requested object.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/offering/ \
  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_orders import marketplace_orders_offering_retrieve # (1)

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

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

try {
  const response = await marketplaceOrdersOfferingRetrieve({
  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)
created string (date-time)
name string
slug string
description string
full_description string
privacy_policy_link string (uri)
access_url string (uri) Publicly accessible offering access URL
endpoints array of objects
endpoints.uuid string (uuid)
endpoints.name string
endpoints.url string
software_catalogs array of objects
software_catalogs.uuid string (uuid)
software_catalogs.catalog object
software_catalogs.catalog.uuid string
software_catalogs.catalog.name string
software_catalogs.catalog.version string
software_catalogs.catalog.description string
software_catalogs.enabled_cpu_family any List of enabled CPU families: ['x86_64', 'aarch64']
software_catalogs.enabled_cpu_microarchitectures any List of enabled CPU microarchitectures: ['generic', 'zen3']
software_catalogs.package_count integer
software_catalogs.partition object
software_catalogs.partition.uuid string
software_catalogs.partition.partition_name string
software_catalogs.partition.priority_tier integer
software_catalogs.partition.qos string
partitions array of objects
partitions.uuid string (uuid)
partitions.partition_name string Name of the SLURM partition
partitions.cpu_bind integer Default task binding policy (SLURM cpu_bind)
partitions.def_cpu_per_gpu integer Default CPUs allocated per GPU
partitions.max_cpus_per_node integer Maximum allocated CPUs per node
partitions.max_cpus_per_socket integer Maximum allocated CPUs per socket
partitions.def_mem_per_cpu integer (int64) Default memory per CPU in MB
partitions.def_mem_per_gpu integer (int64) Default memory per GPU in MB
partitions.def_mem_per_node integer (int64) Default memory per node in MB
partitions.max_mem_per_cpu integer (int64) Maximum memory per CPU in MB
partitions.max_mem_per_node integer (int64) Maximum memory per node in MB
partitions.default_time integer Default time limit in minutes
partitions.max_time integer Maximum time limit in minutes
partitions.grace_time integer Preemption grace time in seconds
partitions.max_nodes integer Maximum nodes per job
partitions.min_nodes integer Minimum nodes per job
partitions.exclusive_topo boolean Exclusive topology access required
partitions.exclusive_user boolean Exclusive user access required
partitions.priority_tier integer Priority tier for scheduling and preemption
partitions.qos string Quality of Service (QOS) name
partitions.req_resv boolean Require reservation for job allocation
roles array of objects
roles.uuid string (uuid)
roles.name string
roles.url string (uri)
customer string (uri)
customer_uuid string (uuid)
customer_name string
project string (uri)
project_uuid string (uuid)
project_name string
category string (uri)
category_uuid string (uuid)
category_title string
attributes object (free-form)
options any
resource_options any
components array of objects
components.uuid string (uuid)
components.billing_type string
Enum: fixed, usage, limit, one, few
components.type string Unique internal name of the measured unit, for example floating_ip.
components.name string Display name for the measured unit, for example, Floating IP.
components.description string
components.measured_unit string Unit of measurement, for example, GB.
components.unit_factor integer The conversion factor from backend units to measured_unit
components.limit_period any
components.limit_amount integer
components.article_code string
components.max_value integer
components.min_value integer
components.max_available_limit integer
components.is_boolean boolean
components.default_limit integer
components.factor integer
components.is_builtin boolean
components.is_prepaid boolean
components.overage_component string (uuid)
components.min_prepaid_duration integer
components.max_prepaid_duration integer
plugin_options any
state any
vendor_details string
getting_started string
integration_guide string
thumbnail string (uri)
order_count integer
plans array of objects
plans.url string (uri)
plans.uuid string (uuid)
plans.name string
plans.description string
plans.article_code string
plans.max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
plans.archived boolean Forbids creation of new resources.
plans.is_active boolean
plans.unit_price string (decimal)
plans.unit string
Enum: month, quarter, half_month, day, hour, quantity
plans.init_price number (double)
plans.switch_price number (double)
plans.backend_id string
plans.organization_groups array of objects
plans.organization_groups.uuid string (uuid)
plans.organization_groups.url string (uri)
plans.organization_groups.name string
plans.organization_groups.parent_uuid string (uuid)
plans.organization_groups.parent_name string
plans.organization_groups.parent string (uri)
plans.organization_groups.customers_count integer
plans.components array of objects
plans.components.type string Unique internal name of the measured unit, for example floating_ip.
plans.components.name string Display name for the measured unit, for example, Floating IP.
plans.components.measured_unit string Unit of measurement, for example, GB.
plans.components.amount integer
plans.components.price string (decimal)
plans.components.future_price string (decimal)
plans.components.discount_threshold integer Minimum amount to be eligible for discount.
plans.components.discount_rate integer Discount rate in percentage.
plans.prices object (free-form)
plans.future_prices object (free-form)
plans.quotas object (free-form)
plans.resources_count integer
plans.plan_type string
plans.minimal_price number (double)
screenshots array of objects
screenshots.name string
screenshots.uuid string (uuid)
screenshots.description string
screenshots.image string (uri)
screenshots.thumbnail string (uri)
screenshots.created string (date-time)
type string
shared boolean Accessible to all customers.
billable boolean Purchase and usage is invoiced.
scope string
scope_uuid string (uuid)
scope_name string (uuid)
scope_state any
scope_error_message string
files array of objects
files.name string
files.created string (date-time)
files.file string (uri)
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
paused_reason string
datacite_doi string
citation_count integer Number of citations of a DOI
latitude number (double)
longitude number (double)
country any
backend_id string
organization_groups array of objects
organization_groups.uuid string (uuid)
organization_groups.url string (uri)
organization_groups.name string
organization_groups.parent_uuid string (uuid)
organization_groups.parent_name string
organization_groups.parent string (uri)
organization_groups.customers_count integer
image string (uri)
total_customers integer
total_cost integer
total_cost_estimated integer
parent_description string
parent_uuid string (uuid)
parent_name string
backend_metadata any
has_compliance_requirements boolean
billing_type_classification string Classify offering components by billing type. Returns 'limit_only', 'usage_only', or 'mixed'.
compliance_checklist string (uri)
user_has_consent boolean
google_calendar_is_public boolean
google_calendar_link string Get the Google Calendar link for an offering.
promotion_campaigns array of objects
promotion_campaigns.uuid string (uuid)
promotion_campaigns.name string
promotion_campaigns.start_date string (date) Starting from this date, the campaign is active.
promotion_campaigns.end_date string (date) The last day the campaign is active.
promotion_campaigns.discount_type string
Enum: discount, special_price
promotion_campaigns.discount integer
promotion_campaigns.stock integer
promotion_campaigns.description string
promotion_campaigns.months integer How many months in a row should the related service (when activated) get special deal (0 for indefinitely until active)
promotion_campaigns.service_provider string (uri)