Resources
Resources tracked by inventories.
13 endpoints · Plakar Control Plane v0.18 · Base URL, authentication and errors
List the resources with the backups of their sources
/api/v1/account/organizations/{id}/backups/resources
Path parameters
-
idstring<uuid> requiredOrganization ID, at or below the caller’s.
Query parameters
-
offsetintegerNumber of items to skip.Default: 0 -
limitintegerMaximum number of items to return.Default: 50 Min: 1 Max: 50 -
searchstringFree-text search on resources. -
classarray[string]Only resources of these classes. -
exclude_classarray[string]Exclude resources of these classes. -
inventory_idarray[string<uuid>]Only resources of these inventories. -
connector_typestringOnly resources with at least one ready connector of this type.Allowed: source, store, destination -
policystringOnly resources whose every ready source is scheduled by a policy, or those with at least one that is not. A resource without a ready source is not covered.Allowed: covered, not_covered -
sortstringlast_backup lists first the resource whose stalest source was backed up longest ago; name sorts by name. Default: class, then name.Allowed: last_backup, name -
facetsbooleanAlso count the resources per inventory and per policy coverage.Default: false
Response 200 OK application/json
-
facetsobject nullable-
inventoriesarray[object]-
countinteger -
inventoryobject-
idstring<uuid> -
namestring -
typestring
-
-
-
policyobject-
coveredinteger -
not_coveredinteger
-
-
unfiltered_totalinteger
-
-
itemsarray[object]-
classstring -
country_detectedstring nullable -
idstring<uuid> -
inventory_idstring<uuid> -
inventory_namestring -
inventory_typestring -
lockedboolean -
namestring -
residencystring nullable -
servicestring -
sourcesarray[object]-
backupobject-
last_backup_atstring<date-time> nullable -
lateboolean -
policyobject nullable-
idstring<uuid> -
namestring nullable -
rpo_secondsinteger
-
-
-
idstring<uuid> -
integrationobject-
idstring<uuid> -
namestring -
versionstring
-
-
namestring
-
-
subclassstring -
tagsarray[string] -
urnstring -
urn_idstring<uuid>
-
-
totalinteger
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl 'https://pcp.example.com/api/v1/account/organizations/{id}/backups/resources' \
-H 'Authorization: Bearer <badge>'Response 200
{
"facets": {
"inventories": [
{
"count": 0,
"inventory": {
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"type": "string"
}
}
],
"policy": {
"covered": 0,
"not_covered": 0
},
"unfiltered_total": 0
},
"items": [
{
"class": "string",
"country_detected": "string",
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_name": "string",
"inventory_type": "string",
"locked": true,
"name": "string",
"residency": "string",
"service": "string",
"sources": [
{
"backup": {
"last_backup_at": "2026-01-01T00:00:00Z",
"late": true,
"policy": {
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"rpo_seconds": 0
}
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"integration": {
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"version": "string"
},
"name": "string"
}
],
"subclass": "string",
"tags": [
"string"
],
"urn": "string",
"urn_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}
],
"total": 0
}Get a resource with the backups of its sources
/api/v1/account/organizations/{id}/backups/resources/{urn_id}
Path parameters
-
idstring<uuid> requiredOrganization ID, at or below the caller’s. -
urn_idstring required
Response 200 OK application/json
-
classstring -
country_detectedstring nullable -
idstring<uuid> -
inventory_idstring<uuid> -
inventory_namestring -
inventory_typestring -
lockedboolean -
namestring -
residencystring nullable -
servicestring -
sourcesarray[object]-
backupobject-
last_backup_atstring<date-time> nullable -
lateboolean -
policyobject nullable-
idstring<uuid> -
namestring nullable -
rpo_secondsinteger
-
-
-
idstring<uuid> -
integrationobject-
idstring<uuid> -
namestring -
versionstring
-
-
namestring
-
-
subclassstring -
tagsarray[string] -
urnstring -
urn_idstring<uuid>
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl 'https://pcp.example.com/api/v1/account/organizations/{id}/backups/resources/{urn_id}' \
-H 'Authorization: Bearer <badge>'Response 200
{
"class": "string",
"country_detected": "string",
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_name": "string",
"inventory_type": "string",
"locked": true,
"name": "string",
"residency": "string",
"service": "string",
"sources": [
{
"backup": {
"last_backup_at": "2026-01-01T00:00:00Z",
"late": true,
"policy": {
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"rpo_seconds": 0
}
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"integration": {
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"version": "string"
},
"name": "string"
}
],
"subclass": "string",
"tags": [
"string"
],
"urn": "string",
"urn_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}List the resources of every inventory
/api/v1/inventories/resources
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s. -
offsetintegerNumber of items to skip.Default: 0 -
limitintegerMaximum number of items to return.Default: 100 Min: 1 Max: 100 -
searchstringFree-text search on resources. -
classarray[string]Only resources of these classes. -
exclude_classarray[string]Exclude resources of these classes. -
inventory_idarray[string<uuid>]Only resources of these inventories.
Response 200 OK application/json
-
itemsarray[object]-
classstring -
configured_connectorsarray[object]-
country_detectedstring nullable -
idstring<uuid> -
integrationobject-
created_atstring<date-time> -
fieldsmap[array[object]] nullable -
idstring<uuid> -
namestring nullable -
protocolsarray[string] nullable -
supportsarray[string] nullable -
updated_atstring<date-time> -
versionstring nullable
-
-
namestring -
residencystring nullable -
typestring
-
-
country_detectedstring nullable -
coverage_statusstring -
excluded_from_coverageboolean -
idstring<uuid> -
inventory_idstring<uuid> -
inventory_namestring -
inventory_typestring -
lockedboolean -
namestring -
residencystring nullable -
servicestring -
subclassstring -
tagsarray[string] -
urnstring -
urn_idstring<uuid>
-
-
totalinteger
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl 'https://pcp.example.com/api/v1/inventories/resources' \
-H 'Authorization: Bearer <badge>'Response 200
{
"items": [
{
"class": "string",
"configured_connectors": [
{
"country_detected": "string",
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"integration": {
"created_at": "2026-01-01T00:00:00Z",
"fields": {
"key": [
{
"default": "string",
"description": "string",
"display_name": "string",
"enum": [
"string"
],
"inventory_value": "string",
"name": "string",
"pattern": "string",
"required": true,
"sensitive": true,
"type": "string"
}
]
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"protocols": [
"string"
],
"supports": [
"string"
],
"updated_at": "2026-01-01T00:00:00Z",
"version": "string"
},
"name": "string",
"residency": "string",
"type": "string"
}
],
"country_detected": "string",
"coverage_status": "string",
"excluded_from_coverage": true,
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_name": "string",
"inventory_type": "string",
"locked": true,
"name": "string",
"residency": "string",
"service": "string",
"subclass": "string",
"tags": [
"string"
],
"urn": "string",
"urn_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}
],
"total": 0
}List the resources of an inventory
/api/v1/inventories/{inventory_id}/resources
Path parameters
-
inventory_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s. -
offsetintegerNumber of items to skip.Default: 0 -
limitintegerMaximum number of items to return.Default: 100 Min: 1 Max: 100 -
searchstringFree-text search on resources. -
classarray[string]Only resources of these classes. -
exclude_classarray[string]Exclude resources of these classes.
Response 200 OK application/json
-
itemsarray[object]-
classstring -
configured_connectorsarray[object]-
country_detectedstring nullable -
idstring<uuid> -
integrationobject-
created_atstring<date-time> -
fieldsmap[array[object]] nullable -
idstring<uuid> -
namestring nullable -
protocolsarray[string] nullable -
supportsarray[string] nullable -
updated_atstring<date-time> -
versionstring nullable
-
-
namestring -
residencystring nullable -
typestring
-
-
country_detectedstring nullable -
coverage_statusstring -
excluded_from_coverageboolean -
idstring<uuid> -
inventory_idstring<uuid> -
inventory_namestring -
inventory_typestring -
lockedboolean -
namestring -
residencystring nullable -
servicestring -
subclassstring -
tagsarray[string] -
urnstring -
urn_idstring<uuid>
-
-
totalinteger
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources' \
-H 'Authorization: Bearer <badge>'Response 200
{
"items": [
{
"class": "string",
"configured_connectors": [
{
"country_detected": "string",
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"integration": {
"created_at": "2026-01-01T00:00:00Z",
"fields": {
"key": [
{
"default": "string",
"description": "string",
"display_name": "string",
"enum": [
"string"
],
"inventory_value": "string",
"name": "string",
"pattern": "string",
"required": true,
"sensitive": true,
"type": "string"
}
]
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"protocols": [
"string"
],
"supports": [
"string"
],
"updated_at": "2026-01-01T00:00:00Z",
"version": "string"
},
"name": "string",
"residency": "string",
"type": "string"
}
],
"country_detected": "string",
"coverage_status": "string",
"excluded_from_coverage": true,
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_name": "string",
"inventory_type": "string",
"locked": true,
"name": "string",
"residency": "string",
"service": "string",
"subclass": "string",
"tags": [
"string"
],
"urn": "string",
"urn_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}
],
"total": 0
}Add a resource
/api/v1/inventories/{inventory_id}/resources
Path parameters
-
inventory_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Request body application/json required
-
classstring -
endpointsarray[object]-
attributesmap[string] -
endpointstring -
kindstring
-
-
excluded_from_coverageboolean -
namestring -
servicestring -
subclassstring -
tagsarray[string] -
urnstring
Response 200 OK application/json
-
classstring -
configured_connectorsarray[object]-
country_detectedstring nullable -
idstring<uuid> -
integrationobject-
created_atstring<date-time> -
fieldsmap[array[object]] nullable -
idstring<uuid> -
namestring nullable -
protocolsarray[string] nullable -
supportsarray[string] nullable -
updated_atstring<date-time> -
versionstring nullable
-
-
namestring -
residencystring nullable -
typestring
-
-
country_detectedstring nullable -
coverage_statusstring -
excluded_from_coverageboolean -
idstring<uuid> -
inventory_idstring<uuid> -
inventory_namestring -
inventory_typestring -
lockedboolean -
namestring -
residencystring nullable -
servicestring -
subclassstring -
tagsarray[string] -
urnstring -
urn_idstring<uuid>
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl -X POST 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources' \
-H 'Authorization: Bearer <badge>' \
-H 'Content-Type: application/json' \
-d '{
"class": "string",
"endpoints": [
{
"attributes": {
"key": "string"
},
"endpoint": "string",
"kind": "string"
}
],
"excluded_from_coverage": true,
"name": "string",
"service": "string",
"subclass": "string",
"tags": [
"string"
],
"urn": "string"
}'Response 200
{
"class": "string",
"configured_connectors": [
{
"country_detected": "string",
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"integration": {
"created_at": "2026-01-01T00:00:00Z",
"fields": {
"key": [
{
"default": "string",
"description": "string",
"display_name": "string",
"enum": [
"string"
],
"inventory_value": "string",
"name": "string",
"pattern": "string",
"required": true,
"sensitive": true,
"type": "string"
}
]
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"protocols": [
"string"
],
"supports": [
"string"
],
"updated_at": "2026-01-01T00:00:00Z",
"version": "string"
},
"name": "string",
"residency": "string",
"type": "string"
}
],
"country_detected": "string",
"coverage_status": "string",
"excluded_from_coverage": true,
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_name": "string",
"inventory_type": "string",
"locked": true,
"name": "string",
"residency": "string",
"service": "string",
"subclass": "string",
"tags": [
"string"
],
"urn": "string",
"urn_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}Add resources in bulk
/api/v1/inventories/{inventory_id}/resources/bulk
Path parameters
-
inventory_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Request body application/octet-stream required
Raw request body.
Response 200 OK application/json
-
classstring -
configured_connectorsarray[object]-
country_detectedstring nullable -
idstring<uuid> -
integrationobject-
created_atstring<date-time> -
fieldsmap[array[object]] nullable -
idstring<uuid> -
namestring nullable -
protocolsarray[string] nullable -
supportsarray[string] nullable -
updated_atstring<date-time> -
versionstring nullable
-
-
namestring -
residencystring nullable -
typestring
-
-
country_detectedstring nullable -
coverage_statusstring -
excluded_from_coverageboolean -
idstring<uuid> -
inventory_idstring<uuid> -
inventory_namestring -
inventory_typestring -
lockedboolean -
namestring -
residencystring nullable -
servicestring -
subclassstring -
tagsarray[string] -
urnstring -
urn_idstring<uuid>
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl -X POST 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources/bulk' \
-H 'Authorization: Bearer <badge>' \
-H 'Content-Type: application/octet-stream' \
--data-binary @fileResponse 200
[
{
"class": "string",
"configured_connectors": [
{
"country_detected": "string",
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"integration": {
"created_at": "2026-01-01T00:00:00Z",
"fields": {
"key": [
{
"default": "string",
"description": "string",
"display_name": "string",
"enum": [
"string"
],
"inventory_value": "string",
"name": "string",
"pattern": "string",
"required": true,
"sensitive": true,
"type": "string"
}
]
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"protocols": [
"string"
],
"supports": [
"string"
],
"updated_at": "2026-01-01T00:00:00Z",
"version": "string"
},
"name": "string",
"residency": "string",
"type": "string"
}
],
"country_detected": "string",
"coverage_status": "string",
"excluded_from_coverage": true,
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_name": "string",
"inventory_type": "string",
"locked": true,
"name": "string",
"residency": "string",
"service": "string",
"subclass": "string",
"tags": [
"string"
],
"urn": "string",
"urn_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}
]Get a resource
/api/v1/inventories/{inventory_id}/resources/{urn_id}
Path parameters
-
inventory_idstring required -
urn_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Response 200 OK application/json
-
classstring -
configured_connectorsarray[object]-
created_atstring<date-time> -
data_classesarray[string] nullable -
environmentstring nullable -
fieldsmap[object]-
providerobject nullable-
idstring<uuid>
-
-
valuestring
-
-
idstring<uuid> -
integrationobject-
created_atstring<date-time> -
fieldsmap[array[object]] nullable -
idstring<uuid> -
namestring nullable -
protocolsarray[string] nullable -
supportsarray[string] nullable -
updated_atstring<date-time> -
versionstring nullable
-
-
last_checkstring<date-time> nullable -
namestring -
protocolstring -
resource_idstring<uuid> -
revisioninteger -
rootstring -
typestring -
updated_atstring<date-time>
-
-
country_detectedstring nullable -
coverage_statusstring -
endpointsarray[object]-
attributesmap[string] -
endpointstring -
kindstring
-
-
excluded_from_coverageboolean -
idstring<uuid> -
inventory_idstring<uuid> -
lockedboolean -
namestring -
residencystring nullable -
servicestring -
subclassstring -
suggested_data_classesarray[string] nullable -
suggested_environmentstring nullable -
tagsarray[string] -
urnstring -
urn_idstring<uuid>
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources/{urn_id}' \
-H 'Authorization: Bearer <badge>'Response 200
{
"class": "string",
"configured_connectors": [
{
"created_at": "2026-01-01T00:00:00Z",
"data_classes": [
"string"
],
"environment": "string",
"fields": {
"key": {
"provider": {
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
},
"value": "string"
}
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"integration": {
"created_at": "2026-01-01T00:00:00Z",
"fields": {
"key": [
{
"default": "string",
"description": "string",
"display_name": "string",
"enum": [
"string"
],
"inventory_value": "string",
"name": "string",
"pattern": "string",
"required": true,
"sensitive": true,
"type": "string"
}
]
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"protocols": [
"string"
],
"supports": [
"string"
],
"updated_at": "2026-01-01T00:00:00Z",
"version": "string"
},
"last_check": "2026-01-01T00:00:00Z",
"name": "string",
"protocol": "string",
"resource_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"revision": 0,
"root": "string",
"type": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
],
"country_detected": "string",
"coverage_status": "string",
"endpoints": [
{
"attributes": {
"key": "string"
},
"endpoint": "string",
"kind": "string"
}
],
"excluded_from_coverage": true,
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"locked": true,
"name": "string",
"residency": "string",
"service": "string",
"subclass": "string",
"suggested_data_classes": [
"string"
],
"suggested_environment": "string",
"tags": [
"string"
],
"urn": "string",
"urn_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}Update a resource
/api/v1/inventories/{inventory_id}/resources/{urn_id}
Path parameters
-
inventory_idstring required -
urn_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Request body application/json required
-
classstring -
endpointsarray[object]-
attributesmap[string] -
endpointstring -
kindstring
-
-
excluded_from_coverageboolean -
namestring -
servicestring -
subclassstring -
tagsarray[string] -
urnstring
Response 200 OK application/json
-
classstring -
configured_connectorsarray[object]-
country_detectedstring nullable -
idstring<uuid> -
integrationobject-
created_atstring<date-time> -
fieldsmap[array[object]] nullable -
idstring<uuid> -
namestring nullable -
protocolsarray[string] nullable -
supportsarray[string] nullable -
updated_atstring<date-time> -
versionstring nullable
-
-
namestring -
residencystring nullable -
typestring
-
-
country_detectedstring nullable -
coverage_statusstring -
excluded_from_coverageboolean -
idstring<uuid> -
inventory_idstring<uuid> -
inventory_namestring -
inventory_typestring -
lockedboolean -
namestring -
residencystring nullable -
servicestring -
subclassstring -
tagsarray[string] -
urnstring -
urn_idstring<uuid>
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl -X POST 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources/{urn_id}' \
-H 'Authorization: Bearer <badge>' \
-H 'Content-Type: application/json' \
-d '{
"class": "string",
"endpoints": [
{
"attributes": {
"key": "string"
},
"endpoint": "string",
"kind": "string"
}
],
"excluded_from_coverage": true,
"name": "string",
"service": "string",
"subclass": "string",
"tags": [
"string"
],
"urn": "string"
}'Response 200
{
"class": "string",
"configured_connectors": [
{
"country_detected": "string",
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"integration": {
"created_at": "2026-01-01T00:00:00Z",
"fields": {
"key": [
{
"default": "string",
"description": "string",
"display_name": "string",
"enum": [
"string"
],
"inventory_value": "string",
"name": "string",
"pattern": "string",
"required": true,
"sensitive": true,
"type": "string"
}
]
},
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"name": "string",
"protocols": [
"string"
],
"supports": [
"string"
],
"updated_at": "2026-01-01T00:00:00Z",
"version": "string"
},
"name": "string",
"residency": "string",
"type": "string"
}
],
"country_detected": "string",
"coverage_status": "string",
"excluded_from_coverage": true,
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"inventory_name": "string",
"inventory_type": "string",
"locked": true,
"name": "string",
"residency": "string",
"service": "string",
"subclass": "string",
"tags": [
"string"
],
"urn": "string",
"urn_id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}Exclude a resource from coverage, or include it again
/api/v1/inventories/{inventory_id}/resources/{urn_id}
Path parameters
-
inventory_idstring required -
urn_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Request body application/json required
-
excluded_from_coverageboolean
Response 200 OK application/json
-
excluded_from_coverageboolean
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl -X PATCH 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources/{urn_id}' \
-H 'Authorization: Bearer <badge>' \
-H 'Content-Type: application/json' \
-d '{
"excluded_from_coverage": true
}'Response 200
{
"excluded_from_coverage": true
}Delete a resource
/api/v1/inventories/{inventory_id}/resources/{urn_id}
Path parameters
-
inventory_idstring required -
urn_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Response 200 OK application/json
-
idstring<uuid>
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl -X DELETE 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources/{urn_id}' \
-H 'Authorization: Bearer <badge>'Response 200
{
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90"
}List the endpoints of a resource
/api/v1/inventories/{inventory_id}/resources/{urn_id}/endpoints
Path parameters
-
inventory_idstring required -
urn_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Response 200 OK application/json
-
endpointsarray[object]-
endpointstring -
idstring<uuid> -
typestring
-
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources/{urn_id}/endpoints' \
-H 'Authorization: Bearer <badge>'Response 200
{
"endpoints": [
{
"endpoint": "string",
"id": "3f1e4a2c-9b7d-4e0f-8a11-2c5d6e7f8a90",
"type": "string"
}
]
}Lock or unlock a resource
/api/v1/inventories/{inventory_id}/resources/{urn_id}/lock
Path parameters
-
inventory_idstring required -
urn_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Request body application/json required
-
lockedboolean
Response 200 OK application/json
-
lockedboolean
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl -X PATCH 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources/{urn_id}/lock' \
-H 'Authorization: Bearer <badge>' \
-H 'Content-Type: application/json' \
-d '{
"locked": true
}'Response 200
{
"locked": true
}Set the residency of a resource
/api/v1/inventories/{inventory_id}/resources/{urn_id}/residency
Path parameters
-
inventory_idstring required -
urn_idstring required
Query parameters
-
organization_idstring<uuid>Organization to act on, at or below the caller’s. Defaults to the caller’s.
Request body application/json required
-
residencystring
Response 200 OK application/json
-
residencystring
Errors
- 400 Bad Request (validation or deserialization error)
- 401 Missing, invalid or expired credentials
- 403 The caller may not do this
- 500 Internal Server Error (panics)
Every error returns the standard error body.
Request
curl -X PATCH 'https://pcp.example.com/api/v1/inventories/{inventory_id}/resources/{urn_id}/residency' \
-H 'Authorization: Bearer <badge>' \
-H 'Content-Type: application/json' \
-d '{
"residency": "string"
}'Response 200
{
"residency": "string"
}