Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

CatalogAdminService

platform.v1.CatalogAdminService

  • Request: CreateInstanceTypeRequest
  • Response: AdminInstanceType
  • REST mapping: POST /v1/admin/instance-types
  • Request: UpdateInstanceTypeRequest
  • Response: AdminInstanceType
  • REST mapping: PATCH /v1/admin/instance-types/{id}
  • Request: DeleteInstanceTypeRequest
  • Response: DeleteInstanceTypeResponse
  • REST mapping: DELETE /v1/admin/instance-types/{id}
  • Request: ListInstanceTypesAdminRequest
  • Response: ListInstanceTypesAdminResponse
  • REST mapping: GET /v1/admin/instance-types
  • Request: SetInstanceTypeProvidersRequest
  • Response: AdminInstanceType
  • REST mapping: PUT /v1/admin/instance-types/{id}/providers
  • Request: SyncProviderInstanceTypesRequest
  • Response: SyncProviderInstanceTypesResponse
  • REST mapping: POST /v1/admin/instance-types:sync
  • Request: ListProviderInstanceTypesRequest
  • Response: ListProviderInstanceTypesResponse
  • REST mapping: GET /v1/admin/provider-instance-types
  • Request: CreateProviderInstanceTypeRequest
  • Response: ProviderInstanceType
  • REST mapping: POST /v1/admin/provider-instance-types
  • Request: UpdateProviderInstanceTypeRequest
  • Response: ProviderInstanceType
  • REST mapping: PATCH /v1/admin/provider-instance-types/{id}
  • Request: DeleteProviderInstanceTypeRequest
  • Response: DeleteProviderInstanceTypeResponse
  • REST mapping: DELETE /v1/admin/provider-instance-types/{id}
  • Request: ApplyProviderInstanceTypeSyncRequest
  • Response: ApplyProviderInstanceTypeSyncResponse
  • REST mapping: POST /v1/admin/instance-types:sync-apply
  • Request: ListRegionsAdminRequest
  • Response: ListRegionsAdminResponse
  • REST mapping: GET /v1/admin/regions
  • Request: CreateRegionRequest
  • Response: AdminRegion
  • REST mapping: POST /v1/admin/regions
  • Request: UpdateRegionRequest
  • Response: AdminRegion
  • REST mapping: PATCH /v1/admin/regions/{id}
  • Request: DeleteRegionRequest
  • Response: DeleteRegionResponse
  • REST mapping: DELETE /v1/admin/regions/{id}
  • Request: ListProviderRegionsRequest
  • Response: ListProviderRegionsResponse
  • REST mapping: GET /v1/admin/provider-regions
  • Request: CreateProviderRegionRequest
  • Response: ProviderRegion
  • REST mapping: POST /v1/admin/provider-regions
  • Request: UpdateProviderRegionRequest
  • Response: ProviderRegion
  • REST mapping: PATCH /v1/admin/provider-regions/{id}
  • Request: DeleteProviderRegionRequest
  • Response: DeleteProviderRegionResponse
  • REST mapping: DELETE /v1/admin/provider-regions/{id}
  • Request: SyncProviderRegionsRequest
  • Response: SyncProviderRegionsResponse
  • REST mapping: POST /v1/admin/regions:sync
  • Request: ApplyProviderRegionSyncRequest
  • Response: ApplyProviderRegionSyncResponse
  • REST mapping: POST /v1/admin/regions:sync-apply
  • Request: ListMachineImagesAdminRequest
  • Response: ListMachineImagesAdminResponse
  • REST mapping: GET /v1/admin/machine-images
  • Request: CreateMachineImageRequest
  • Response: PlatformMachineImage
  • REST mapping: POST /v1/admin/machine-images
  • Request: UpdateMachineImageRequest
  • Response: PlatformMachineImage
  • REST mapping: PATCH /v1/admin/machine-images/{id}
  • Request: DeleteMachineImageRequest
  • Response: DeleteMachineImageResponse
  • REST mapping: DELETE /v1/admin/machine-images/{id}
  • Request: ListProviderMachineImagesRequest
  • Response: ListProviderMachineImagesResponse
  • REST mapping: GET /v1/admin/provider-machine-images
  • Request: CreateProviderMachineImageRequest
  • Response: ProviderMachineImage
  • REST mapping: POST /v1/admin/provider-machine-images
  • Request: UpdateProviderMachineImageRequest
  • Response: ProviderMachineImage
  • REST mapping: PATCH /v1/admin/provider-machine-images/{id}
  • Request: DeleteProviderMachineImageRequest
  • Response: DeleteProviderMachineImageResponse
  • REST mapping: DELETE /v1/admin/provider-machine-images/{id}
  • Request: SyncProviderMachineImagesRequest
  • Response: SyncProviderMachineImagesResponse
  • REST mapping: POST /v1/admin/provider-machine-images:sync
  • Request: ApplyProviderMachineImageSyncRequest
  • Response: ApplyProviderMachineImageSyncResponse
  • REST mapping: POST /v1/admin/provider-machine-images:sync-apply
  • Request: ListManualActionsRequest
  • Response: ListManualActionsResponse
  • REST mapping: GET /v1/admin/manual-actions
  • Request: GetManualActionRequest
  • Response: ManualAction
  • REST mapping: GET /v1/admin/manual-actions/{id}
  • Request: ClaimManualActionRequest
  • Response: ManualAction
  • REST mapping: POST /v1/admin/manual-actions/{id}:claim
  • Request: ResolveManualActionRequest
  • Response: ManualAction
  • REST mapping: POST /v1/admin/manual-actions/{id}:resolve
  • Request: CancelManualActionRequest
  • Response: ManualAction
  • REST mapping: POST /v1/admin/manual-actions/{id}:cancel
  • Request: ListProviderInventoryRequest
  • Response: ListProviderInventoryResponse
  • REST mapping: GET /v1/admin/provider-inventory
  • Request: RecordProviderPurchaseRequest
  • Response: ProviderInventoryItem
  • REST mapping: POST /v1/admin/provider-inventory
  • Request: RetireInventoryItemRequest
  • Response: ProviderInventoryItem
  • REST mapping: POST /v1/admin/provider-inventory/{id}:retire

ListProviderInventoryCandidates reads servers the account owns that are not already in the pool. Netcup only: other providers create on demand.

  • Request: ListProviderInventoryCandidatesRequest
  • Response: ListProviderInventoryCandidatesResponse
  • REST mapping: POST /v1/admin/provider-inventory:candidates

ImportProviderInventory records the selected servers as available stock.

  • Request: ImportProviderInventoryRequest
  • Response: ImportProviderInventoryResponse
  • REST mapping: POST /v1/admin/provider-inventory:import
  • Request: ListProviderPoolPoliciesRequest
  • Response: ListProviderPoolPoliciesResponse
  • REST mapping: GET /v1/admin/provider-pool-policies
  • Request: SetProviderPoolPolicyRequest
  • Response: ProviderPoolPolicy
  • REST mapping: PUT /v1/admin/provider-pool-policies
  • Request: ListProviderEntitlementsRequest
  • Response: ListProviderEntitlementsResponse
  • REST mapping: GET /v1/admin/provider-entitlements
  • Request: SetProviderEntitlementRequest
  • Response: ProviderEntitlement
  • REST mapping: PUT /v1/admin/provider-entitlements
  • Request: ListFamiliesRequest
  • Response: ListFamiliesResponse
  • REST mapping: GET /v1/admin/families
  • Request: CreateFamilyRequest
  • Response: PlatformFamily
  • REST mapping: POST /v1/admin/families
  • Request: UpdateFamilyRequest
  • Response: PlatformFamily
  • REST mapping: PATCH /v1/admin/families/{id}
  • Request: DeleteFamilyRequest
  • Response: DeleteFamilyResponse
  • REST mapping: DELETE /v1/admin/families/{id}

AdminInstanceType is the platform-owned flavor plus its provider mappings.

FieldType#Notes
idstring1
namestring2
vcpusint323
memory_mbint324
disk_gbint325
familystring6
enabledbool7
descriptionstring8
sourcestring9manual | synced
providersInstanceTypeProviderMapping10
statestring11draft | active | deprecated | disabled
hourly_pricedouble12
monthly_pricedouble13
currencystring14
region_idsstring15
region_overridesRegionOverride16
family_idstring17stored id; family (6) is the display name on responses
machine_image_idsstring18derived; read-only
associationsInstanceTypeAssociation19
versionsInstanceTypeVersion20
FieldType#Notes
idstring1
namestring2
countrystring3
statestring4draft | active | deprecated | disabled
descriptionstring5
sourcestring6
mapped_providersstring7“hetzner:nbg1” style labels for the platform table
provider_region_idsstring8join rows for this platform region
FieldType#Notes
providerstring1
row_idsstring2
FieldType#Notes
appliedSyncDiffRow1
FieldType#Notes
providerstring1
row_idsstring2
FieldType#Notes
appliedSyncDiffRow1
FieldType#Notes
providerstring1
row_idsstring2
FieldType#Notes
appliedSyncDiffRow1
FieldType#Notes
idstring1
notesstring2

ClaimManualAction marks a task in_progress under one operator’s name. Netcup tasks are purchases, so two people picking up the same row means the account is billed twice for stock it only needed once.

FieldType#Notes
idstring1
notesstring2
FieldType#Notes
idstring1
namestring2
descriptionstring3
statestring4ignored; server stores draft
FieldType#Notes
idstring1
namestring2
vcpusint323
memory_mbint324
disk_gbint325
familystring6
descriptionstring7
enabledbool8
hourly_pricedouble9
monthly_pricedouble10
currencystring11
statestring12
provider_instance_type_idsstring13
region_idsstring14
region_overridesRegionOverride15
family_idstring16
FieldType#Notes
idstring1
namestring2
descriptionstring3
osstring4
versionstring5
statestring6ignored; server stores draft
provider_machine_image_idsstring7
FieldType#Notes
providerstring1
native_idstring2
namestring3
vcpusint324
memory_mbint325
disk_gbint326
hourly_pricedouble7
monthly_pricedouble8
currencystring9
statestring10
availablebool11
platform_instance_type_idstring12
region_idsstring13
provider_namestring14
provider_vcpusint3215
provider_memory_mbint3216
provider_disk_gbint3217
provider_hourly_pricedouble18
provider_monthly_pricedouble19
provider_currencystring20
provider_machine_image_idsstring21
FieldType#Notes
providerstring1
native_idstring2
namestring3
provider_namestring4
osstring5
provider_osstring6
versionstring7
provider_versionstring8
statestring9ignored; server stores draft
platform_machine_image_idstring10
FieldType#Notes
providerstring1
native_idstring2
namestring3
countrystring4
statestring5
availablebool6unused; ignored on write. Do not renumber or delete.
platform_region_idstring7kept for older clients
platform_region_idsstring8
provider_namestring9
FieldType#Notes
idstring1
namestring2
countrystring3
statestring4
descriptionstring5
provider_region_idsstring6
FieldType#Notes
idstring1

No fields.

FieldType#Notes
idstring1

No fields.

FieldType#Notes
idstring1

No fields.

FieldType#Notes
idstring1

No fields.

FieldType#Notes
idstring1

No fields.

FieldType#Notes
idstring1

No fields.

FieldType#Notes
idstring1

No fields.

FieldType#Notes
idstring1
FieldType#Notes
providerstring1
native_idsstring2
FieldType#Notes
itemsProviderInventoryItem1
FieldType#Notes
statestring1
FieldType#Notes
familiesPlatformFamily1

No fields.

FieldType#Notes
instance_typesAdminInstanceType1
FieldType#Notes
statestring1
FieldType#Notes
machine_imagesPlatformMachineImage1
FieldType#Notes
providerstring1
statusstring2
FieldType#Notes
actionsManualAction1
FieldType#Notes
providerstring1
FieldType#Notes
entitlementsProviderEntitlement1
FieldType#Notes
providerstring1
statestring2optional filter; empty = all
FieldType#Notes
provider_instance_typesProviderInstanceType1
FieldType#Notes
providerstring1
FieldType#Notes
candidatesProviderInventoryCandidate1
FieldType#Notes
providerstring1
kindstring2
statestring3
FieldType#Notes
itemsProviderInventoryItem1
FieldType#Notes
providerstring1
statestring2
FieldType#Notes
provider_machine_imagesProviderMachineImage1
FieldType#Notes
providerstring1
FieldType#Notes
policiesProviderPoolPolicy1
FieldType#Notes
providerstring1
statestring2optional; empty = all
FieldType#Notes
provider_regionsProviderRegion1
FieldType#Notes
statestring1optional; empty = all
FieldType#Notes
regionsAdminRegion1

--- Manual actions (admin) ---

FieldType#Notes
idstring1
providerstring2
resource_typestring3
resource_idstring4
actionstring5
reasonstring6
instructionsstring7
statusstring8open | in_progress | done | cancelled
appstring9
resolved_bystring10
notesstring11
operation_idstring13
claimed_bystring16claimed_by names whoever picked the task up, which is not the same as who finished it: the point of showing it is that a colleague already at the till does not get a second person buying the same server.

CatalogAdminService is operator-only (admin.catalog.* / admin.manualaction.*).

FieldType#Notes
idstring1
namestring2
descriptionstring3
statestring4draft | active | deprecated | disabled
sourcestring5
FieldType#Notes
idstring1
namestring2
descriptionstring3
osstring4
versionstring5
statestring6draft | active | deprecated | disabled
sourcestring7
provider_machine_image_idsstring8

ProviderEntitlement counts a consumable bought in bulk, such as block storage gigabytes, which has a balance rather than a list of ids.

FieldType#Notes
idstring1
providerstring2
kindstring3block_storage_gb
regionstring4
purchasedint325
allocatedint326
notesstring7

ProviderInstanceType is a provider-native flavor, optionally mapped to a platform AdminInstanceType.

FieldType#Notes
idstring1
providerstring2
native_idstring3
namestring4
vcpusint325
memory_mbint326
disk_gbint327
hourly_pricedouble8
monthly_pricedouble9
currencystring10
statestring11draft | active | deprecated | disabled
availablebool12
sourcestring13
platform_instance_type_idstring14
region_idsstring15
provider_namestring16
provider_vcpusint3217
provider_memory_mbint3218
provider_disk_gbint3219
provider_hourly_pricedouble20
provider_monthly_pricedouble21
provider_currencystring22
provider_machine_image_idsstring23
associationsInstanceTypeAssociation24
versionsInstanceTypeVersion25

--- Provider inventory pools (admin) --- Stock the platform has already bought from a provider that sells capacity outside its API. A claim against it is what turns a user’s create into an ordinary call instead of a wait on a purchase.

FieldType#Notes
idstring1
providerstring2
kindstring3instance | failover_ip
native_idstring4
specstring5provider-native shape a claim must match
regionstring6
statestring7available | claimed | scrubbing | retired
claimed_bystring8platform resource holding the item
appstring9
cost_centsint3211
currencystring12
notesstring13
FieldType#Notes
idstring1
providerstring2
native_idstring3
namestring4catalog name
provider_namestring5
osstring6catalog OS
provider_osstring7
versionstring8catalog version
provider_versionstring9
statestring10
sourcestring11
platform_machine_image_idstring12
FieldType#Notes
idstring1
providerstring2
kindstring3
specstring4
regionstring5
min_availableint326
max_availableint327
enabledbool8
availableint329available is the current free stock for this shape, so the console can show the watermark against reality without a second call.
FieldType#Notes
idstring1
providerstring2
native_idstring3
namestring4
countrystring5
statestring6draft | active | deprecated | disabled
availablebool7unused; offer gate is state. Do not renumber or delete.
sourcestring8
platform_region_idstring9kept for older clients; responses leave this empty
platform_region_idsstring10
provider_namestring11last value from the driver; name (4) stays the catalog name

RecordProviderPurchase is how a webshop purchase enters the platform. It is an upsert: discovery may already have found the item.

FieldType#Notes
providerstring1
kindstring2
native_idstring3
specstring4
regionstring5
cost_centsint327
currencystring8
notesstring9
FieldType#Notes
idstring1
provider_idstring2adopt: sets the resource’s ProviderID
notesstring3

RetireInventoryItem takes stock out of rotation, for a contract that was cancelled or a server that must not be handed out again. The row stays: it is the record that the platform once owned the thing.

FieldType#Notes
idstring1
notesstring2
FieldType#Notes
idstring1
providersInstanceTypeProviderMapping2
FieldType#Notes
providerstring1
kindstring2
regionstring3
purchasedint324
notesstring5
FieldType#Notes
providerstring1
kindstring2
specstring3
regionstring4
min_availableint325
max_availableint326
enabledbool7
FieldType#Notes
providerstring1
applybool2when false, returns a diff preview only
FieldType#Notes
rowsSyncDiffRow1
appliedbool2
FieldType#Notes
providerstring1
applybool2keep for tests; UI must not call bulk apply
FieldType#Notes
rowsSyncDiffRow1
appliedbool2
FieldType#Notes
providerstring1
applybool2keep for tests; UI must not call bulk apply
FieldType#Notes
rowsSyncDiffRow1
appliedbool2
FieldType#Notes
idstring1
namestring2
descriptionstring3
statestring4
FieldType#Notes
idstring1
namestring2
vcpusint323
memory_mbint324
disk_gbint325
familystring6
descriptionstring7
enabledbool8
hourly_pricedouble9
monthly_pricedouble10
currencystring11
statestring12
provider_instance_type_idsstring13
region_idsstring14
region_overridesRegionOverride15
family_idstring16
FieldType#Notes
idstring1
namestring2
descriptionstring3
osstring4
versionstring5
statestring6
provider_machine_image_idsstring7
replace_provider_machine_imagesbool8true replaces the join, including with an empty list
FieldType#Notes
idstring1
namestring2
vcpusint323
memory_mbint324
disk_gbint325
hourly_pricedouble6
monthly_pricedouble7
currencystring8
statestring9
availablebool10
platform_instance_type_idstring11
region_idsstring12
provider_namestring13
provider_vcpusint3214
provider_memory_mbint3215
provider_disk_gbint3216
provider_hourly_pricedouble17
provider_monthly_pricedouble18
provider_currencystring19
provider_machine_image_idsstring20
replace_provider_machine_imagesbool21
FieldType#Notes
idstring1
namestring2
provider_namestring3
osstring4
provider_osstring5
versionstring6
provider_versionstring7
statestring8
platform_machine_image_idstring9
clear_platform_machine_imagebool10
FieldType#Notes
idstring1
namestring2
countrystring3
statestring4
availablebool5unused; ignored on write. Do not renumber or delete.
platform_region_idstring6kept for older clients
platform_region_idsstring7
provider_namestring8
FieldType#Notes
idstring1
namestring2
countrystring3
statestring4
descriptionstring5
provider_region_idsstring6
update_provider_regionsbool7false leaves the join unchanged