Marketplace Software Catalogs
Operations Summary
Core CRUD
List software catalogs
Returns a paginated list of available software catalogs, such as EESSI or Spack.
HTTPie Python TypeScript Query Parameters Responses
http \
GET \
https://api.example.com/api/marketplace-software-catalogs/ \
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.models.catalog_type_enum import CatalogTypeEnum # (1)
from waldur_api_client.models.software_catalog_o_enum import SoftwareCatalogOEnum # (2)
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_list # (3)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
response = marketplace_software_catalogs_list . sync ( client = client )
for item in response :
print ( item )
Model Source: CatalogTypeEnum
Model Source: SoftwareCatalogOEnum
API Source: marketplace_software_catalogs_list
import { marketplaceSoftwareCatalogsList } from 'waldur-js-client' ;
try {
const response = await marketplaceSoftwareCatalogsList ({
auth : "Token YOUR_API_TOKEN"
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Description
auto_update_enabled
boolean
Filter catalogs by auto-update status
catalog_type
string
Filter by catalog type (binary_runtime, source_package, package_manager)Enum: binary_runtime, source_package, package_manager
description
string
Filter catalogs by description (case-insensitive partial match)
name
string
o
array
Ordering
page
integer
A page number within the paginated result set.
page_size
integer
Number of results to return per page.
version
string
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)
modified
string (date-time)
name
string
Catalog name (e.g., EESSI, Spack)
version
string
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalog
catalog_type_display
string
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
last_update_attempt
string (date-time)
last_successful_update
string (date-time)
update_errors
string
package_count
integer
version_count
integer
target_count
integer
Retrieve a software catalog
Returns the details of a specific software catalog, including its name, version, and the number of packages it contains.
HTTPie Python TypeScript Path Parameters Responses
http \
GET \
https://api.example.com/api/marketplace-software-catalogs/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_software_catalogs import marketplace_software_catalogs_retrieve # (1)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
response = marketplace_software_catalogs_retrieve . sync (
uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
client = client
)
print ( response )
API Source: marketplace_software_catalogs_retrieve
1
2
3
4
5
6
7
8
9
10
11
12
13 import { marketplaceSoftwareCatalogsRetrieve } from 'waldur-js-client' ;
try {
const response = await marketplaceSoftwareCatalogsRetrieve ({
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)
modified
string (date-time)
name
string
Catalog name (e.g., EESSI, Spack)
version
string
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalog
catalog_type_display
string
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
last_update_attempt
string (date-time)
last_successful_update
string (date-time)
update_errors
string
package_count
integer
version_count
integer
target_count
integer
Create a software catalog
Creates a new software catalog. Requires staff permissions.
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/marketplace-software-catalogs/ \
Authorization:"Token YOUR_API_TOKEN" \
name = "my-awesome-marketplace-software-catalog" \
version = "string-value"
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.software_catalog_request import SoftwareCatalogRequest # (1)
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_create # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = SoftwareCatalogRequest (
name = "my-awesome-marketplace-software-catalog" ,
version = "string-value"
)
response = marketplace_software_catalogs_create . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: SoftwareCatalogRequest
API Source: marketplace_software_catalogs_create
1
2
3
4
5
6
7
8
9
10
11
12
13
14 import { marketplaceSoftwareCatalogsCreate } from 'waldur-js-client' ;
try {
const response = await marketplaceSoftwareCatalogsCreate ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"name" : "my-awesome-marketplace-software-catalog" ,
"version" : "string-value"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
name
string
✓
Catalog name (e.g., EESSI, Spack)
version
string
✓
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalogConstraints: default: binary_runtime
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
update_errors
string
201 -
Field
Type
Description
url
string (uri)
uuid
string (uuid)
created
string (date-time)
modified
string (date-time)
name
string
Catalog name (e.g., EESSI, Spack)
version
string
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalog
catalog_type_display
string
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
last_update_attempt
string (date-time)
last_successful_update
string (date-time)
update_errors
string
package_count
integer
version_count
integer
target_count
integer
Trigger async update for an existing catalog
Triggers a Celery task to update the given catalog from its upstream source. Returns 202 Accepted immediately. Staff only.
HTTPie Python TypeScript Path Parameters Request Body (required) Responses
http \
POST \
https://api.example.com/api/marketplace-software-catalogs/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_catalog/ \
Authorization:"Token YOUR_API_TOKEN" \
name = "my-awesome-marketplace-software-catalog" \
version = "string-value"
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.software_catalog_request import SoftwareCatalogRequest # (1)
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_update_catalog # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = SoftwareCatalogRequest (
name = "my-awesome-marketplace-software-catalog" ,
version = "string-value"
)
response = marketplace_software_catalogs_update_catalog . sync (
uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
client = client ,
body = body_data
)
print ( response )
Model Source: SoftwareCatalogRequest
API Source: marketplace_software_catalogs_update_catalog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import { marketplaceSoftwareCatalogsUpdateCatalog } from 'waldur-js-client' ;
try {
const response = await marketplaceSoftwareCatalogsUpdateCatalog ({
auth : "Token YOUR_API_TOKEN" ,
path : {
"uuid" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
body : {
"name" : "my-awesome-marketplace-software-catalog" ,
"version" : "string-value"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Required
uuid
string (uuid)
✓
Field
Type
Required
Description
name
string
✓
Catalog name (e.g., EESSI, Spack)
version
string
✓
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalogConstraints: default: binary_runtime
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
update_errors
string
Update a software catalog
Updates an existing software catalog. Requires staff permissions.
HTTPie Python TypeScript Path Parameters Request Body (required) Responses
http \
PUT \
https://api.example.com/api/marketplace-software-catalogs/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
Authorization:"Token YOUR_API_TOKEN" \
name = "my-awesome-marketplace-software-catalog" \
version = "string-value"
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.software_catalog_request import SoftwareCatalogRequest # (1)
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_update # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = SoftwareCatalogRequest (
name = "my-awesome-marketplace-software-catalog" ,
version = "string-value"
)
response = marketplace_software_catalogs_update . sync (
uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
client = client ,
body = body_data
)
print ( response )
Model Source: SoftwareCatalogRequest
API Source: marketplace_software_catalogs_update
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import { marketplaceSoftwareCatalogsUpdate } from 'waldur-js-client' ;
try {
const response = await marketplaceSoftwareCatalogsUpdate ({
auth : "Token YOUR_API_TOKEN" ,
path : {
"uuid" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
body : {
"name" : "my-awesome-marketplace-software-catalog" ,
"version" : "string-value"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Required
uuid
string (uuid)
✓
Field
Type
Required
Description
name
string
✓
Catalog name (e.g., EESSI, Spack)
version
string
✓
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalogConstraints: default: binary_runtime
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
update_errors
string
200 -
Field
Type
Description
url
string (uri)
uuid
string (uuid)
created
string (date-time)
modified
string (date-time)
name
string
Catalog name (e.g., EESSI, Spack)
version
string
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalog
catalog_type_display
string
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
last_update_attempt
string (date-time)
last_successful_update
string (date-time)
update_errors
string
package_count
integer
version_count
integer
target_count
integer
Partially update a software catalog
Partially updates an existing software catalog. Requires staff permissions.
HTTPie Python TypeScript Path Parameters Request Body Responses
http \
PATCH \
https://api.example.com/api/marketplace-software-catalogs/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_software_catalog_request import PatchedSoftwareCatalogRequest # (1)
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_partial_update # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = PatchedSoftwareCatalogRequest ()
response = marketplace_software_catalogs_partial_update . sync (
uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
client = client ,
body = body_data
)
print ( response )
Model Source: PatchedSoftwareCatalogRequest
API Source: marketplace_software_catalogs_partial_update
1
2
3
4
5
6
7
8
9
10
11
12
13 import { marketplaceSoftwareCatalogsPartialUpdate } from 'waldur-js-client' ;
try {
const response = await marketplaceSoftwareCatalogsPartialUpdate ({
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
Catalog name (e.g., EESSI, Spack)
version
string
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalogConstraints: default: binary_runtime
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
update_errors
string
200 -
Field
Type
Description
url
string (uri)
uuid
string (uuid)
created
string (date-time)
modified
string (date-time)
name
string
Catalog name (e.g., EESSI, Spack)
version
string
Catalog version (e.g., 2023.06, 0.21.0)
catalog_type
any
Type of software catalog
catalog_type_display
string
source_url
string (uri)
Catalog source URL
description
string
metadata
any
Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled
boolean
Whether to automatically update this catalog via scheduled tasks
last_update_attempt
string (date-time)
last_successful_update
string (date-time)
update_errors
string
package_count
integer
version_count
integer
target_count
integer
Delete a software catalog
Deletes a software catalog. Requires staff permissions.
Other Actions
Discover available software catalog versions
Queries upstream sources (EESSI, Spack) for available catalog versions without creating anything. Returns detected versions and whether an update is available compared to existing database records.
Import a new software catalog
Creates a new catalog record and triggers async data loading via Celery. Returns 202 Accepted immediately. Staff only.