Pulumi · Capability
Pulumi APIs — PolicyPacks
Pulumi APIs — PolicyPacks. 16 operations. Lead operation: ListPolicyPacks. Self-contained Naftiko capability covering one Pulumi business surface.
What You Can Do
GET
Listpolicypacksorgs
— ListPolicyPacks
/v1/api/orgs/{orgname}/policypacks
POST
Createpolicypack
— CreatePolicyPack
/v1/api/orgs/{orgname}/policypacks
DELETE
Deletepolicypackorgspolicypacks
— DeletePolicyPack
/v1/api/orgs/{orgname}/policypacks/{policypackname}
DELETE
Deletepolicypackversion
— DeletePolicyPackVersion
/v1/api/orgs/{orgname}/policypacks/{policypackname}/versions/{version}
GET
Getpolicypack
— GetPolicyPack
/v1/api/orgs/{orgname}/policypacks/{policypackname}/versions/{version}
POST
Completepolicypack
— CompletePolicyPack
/v1/api/orgs/{orgname}/policypacks/{policypackname}/versions/{version}/complete
GET
Getpolicypackconfigschema
— GetPolicyPackConfigSchema
/v1/api/orgs/{orgname}/policypacks/{policypackname}/versions/{version}/schema
GET
Getorgregistrypolicypack
— GetOrgRegistryPolicyPack
/v1/api/orgs/{orgname}/registry/policypacks/{policypackname}
GET
Listpolicypackspreviewregistry
— ListPolicyPacks
/v1/registry/policypacks
POST
Listpolicypackspreviewregistrypost
— ListPolicyPacks
/v1/registry/policypacks
DELETE
Deletepolicypackpreviewregistrypolicypacks
— DeletePolicyPack
/v1/registry/policypacks/{source}/{publisher}/{name}
GET
Listpolicypackversions
— ListPolicyPackVersions
/v1/registry/policypacks/{source}/{publisher}/{name}/versions
POST
Postpublishpolicypackversion
— PostPublishPolicyPackVersion
/v1/registry/policypacks/{source}/{publisher}/{name}/versions
DELETE
Deletepolicypackpreviewregistrypolicypacksversions
— DeletePolicyPack
/v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}
GET
Getpolicypackversion
— GetPolicyPackVersion
/v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}
POST
Postpublishpolicypackversioncomplete
— PostPublishPolicyPackVersionComplete
/v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}/complete
MCP Tools
listpolicypacks
ListPolicyPacks
read-only
idempotent
createpolicypack
CreatePolicyPack
deletepolicypack
DeletePolicyPack
idempotent
deletepolicypackversion
DeletePolicyPackVersion
idempotent
getpolicypack
GetPolicyPack
read-only
idempotent
completepolicypack
CompletePolicyPack
getpolicypackconfigschema
GetPolicyPackConfigSchema
read-only
idempotent
getorgregistrypolicypack
GetOrgRegistryPolicyPack
read-only
idempotent
listpolicypacks-2
ListPolicyPacks
read-only
idempotent
listpolicypacks-3
ListPolicyPacks
deletepolicypack-2
DeletePolicyPack
idempotent
listpolicypackversions
ListPolicyPackVersions
read-only
idempotent
postpublishpolicypackversion
PostPublishPolicyPackVersion
deletepolicypack-3
DeletePolicyPack
idempotent
getpolicypackversion
GetPolicyPackVersion
read-only
idempotent
postpublishpolicypackversioncomplete
PostPublishPolicyPackVersionComplete
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Pulumi APIs — PolicyPacks
description: 'Pulumi APIs — PolicyPacks. 16 operations. Lead operation: ListPolicyPacks. Self-contained Naftiko capability
covering one Pulumi business surface.'
tags:
- Pulumi
- PolicyPacks
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
PULUMI_API_KEY: PULUMI_API_KEY
capability:
consumes:
- type: http
namespace: pulumi-policypacks
baseUri: ''
description: Pulumi APIs — PolicyPacks business capability. Self-contained, no shared references.
resources:
- name: api-orgs-orgName-policypacks
path: /api/orgs/{orgName}/policypacks
operations:
- name: listpolicypacksorgs
method: GET
description: ListPolicyPacks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: policypack
in: query
type: string
description: The policy pack name
- name: createpolicypack
method: POST
description: CreatePolicyPack
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-orgs-orgName-policypacks-policyPackName
path: /api/orgs/{orgName}/policypacks/{policyPackName}
operations:
- name: deletepolicypackorgspolicypacks
method: DELETE
description: DeletePolicyPack
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: policyPackName
in: path
type: string
description: The policy pack name
required: true
- name: api-orgs-orgName-policypacks-policyPackName-versions-version
path: /api/orgs/{orgName}/policypacks/{policyPackName}/versions/{version}
operations:
- name: deletepolicypackversion
method: DELETE
description: DeletePolicyPackVersion
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: policyPackName
in: path
type: string
description: The policy pack name
required: true
- name: version
in: path
type: string
description: The version number
required: true
- name: getpolicypack
method: GET
description: GetPolicyPack
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: policyPackName
in: path
type: string
description: The policy pack name
required: true
- name: version
in: path
type: string
description: The version number
required: true
- name: api-orgs-orgName-policypacks-policyPackName-versions-version-complete
path: /api/orgs/{orgName}/policypacks/{policyPackName}/versions/{version}/complete
operations:
- name: completepolicypack
method: POST
description: CompletePolicyPack
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: policyPackName
in: path
type: string
description: The policy pack name
required: true
- name: version
in: path
type: string
description: The version number
required: true
- name: api-orgs-orgName-policypacks-policyPackName-versions-version-schema
path: /api/orgs/{orgName}/policypacks/{policyPackName}/versions/{version}/schema
operations:
- name: getpolicypackconfigschema
method: GET
description: GetPolicyPackConfigSchema
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: policyPackName
in: path
type: string
description: The policy pack name
required: true
- name: version
in: path
type: string
description: The version number
required: true
- name: api-orgs-orgName-registry-policypacks-policyPackName
path: /api/orgs/{orgName}/registry/policypacks/{policyPackName}
operations:
- name: getorgregistrypolicypack
method: GET
description: GetOrgRegistryPolicyPack
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: policyPackName
in: path
type: string
description: The policy pack name
required: true
- name: tag
in: query
type: string
description: Version tag to retrieve (e.g., 'latest')
- name: api-preview-registry-policypacks
path: /api/preview/registry/policypacks
operations:
- name: listpolicypackspreviewregistry
method: GET
description: ListPolicyPacks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: access
in: query
type: string
description: Filter by access level
- name: orgLogin
in: query
type: string
description: Required. Filter by owning organization
- name: listpolicypackspreviewregistrypost
method: POST
description: ListPolicyPacks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-preview-registry-policypacks-source-publisher-name
path: /api/preview/registry/policypacks/{source}/{publisher}/{name}
operations:
- name: deletepolicypackpreviewregistrypolicypacks
method: DELETE
description: DeletePolicyPack
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: source
in: path
type: string
description: 'The policy pack source: ''private'''
required: true
- name: publisher
in: path
type: string
description: Organization that owns the policy pack
required: true
- name: name
in: path
type: string
description: The policy pack name
required: true
- name: api-preview-registry-policypacks-source-publisher-name-versions
path: /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions
operations:
- name: listpolicypackversions
method: GET
description: ListPolicyPackVersions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: source
in: path
type: string
description: 'The policy pack source: ''private'''
required: true
- name: publisher
in: path
type: string
description: Organization that owns the policy pack
required: true
- name: name
in: path
type: string
description: The policy pack name
required: true
- name: postpublishpolicypackversion
method: POST
description: PostPublishPolicyPackVersion
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: source
in: path
type: string
description: 'The policy pack source: ''private'''
required: true
- name: publisher
in: path
type: string
description: Organization that owns the policy pack
required: true
- name: name
in: path
type: string
description: The policy pack name
required: true
- name: api-preview-registry-policypacks-source-publisher-name-versions-version
path: /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions/{version}
operations:
- name: deletepolicypackpreviewregistrypolicypacksversions
method: DELETE
description: DeletePolicyPack
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: source
in: path
type: string
description: 'The policy pack source: ''private'''
required: true
- name: publisher
in: path
type: string
description: Organization that owns the policy pack
required: true
- name: name
in: path
type: string
description: The policy pack name
required: true
- name: version
in: path
type: string
description: Semantic version string of the policy pack version to delete
required: true
- name: getpolicypackversion
method: GET
description: GetPolicyPackVersion
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: source
in: path
type: string
description: 'The policy pack source: ''private'''
required: true
- name: publisher
in: path
type: string
description: Organization that owns the policy pack
required: true
- name: name
in: path
type: string
description: The policy pack name
required: true
- name: version
in: path
type: string
description: Semantic version string or 'latest'
required: true
- name: api-preview-registry-policypacks-source-publisher-name-versions-version-complete
path: /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions/{version}/complete
operations:
- name: postpublishpolicypackversioncomplete
method: POST
description: PostPublishPolicyPackVersionComplete
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: source
in: path
type: string
description: 'The policy pack source: ''private'''
required: true
- name: publisher
in: path
type: string
description: Organization that owns the policy pack
required: true
- name: name
in: path
type: string
description: The policy pack name
required: true
- name: version
in: path
type: string
description: Semantic version string of the policy pack version to complete
required: true
exposes:
- type: rest
namespace: pulumi-policypacks-rest
port: 8080
description: REST adapter for Pulumi APIs — PolicyPacks. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/api/orgs/{orgname}/policypacks
name: api-orgs-orgname-policypacks
description: REST surface for api-orgs-orgName-policypacks.
operations:
- method: GET
name: listpolicypacksorgs
description: ListPolicyPacks
call: pulumi-policypacks.listpolicypacksorgs
with:
orgName: rest.orgName
policypack: rest.policypack
outputParameters:
- type: object
mapping: $.
- method: POST
name: createpolicypack
description: CreatePolicyPack
call: pulumi-policypacks.createpolicypack
with:
orgName: rest.orgName
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/orgs/{orgname}/policypacks/{policypackname}
name: api-orgs-orgname-policypacks-policypackname
description: REST surface for api-orgs-orgName-policypacks-policyPackName.
operations:
- method: DELETE
name: deletepolicypackorgspolicypacks
description: DeletePolicyPack
call: pulumi-policypacks.deletepolicypackorgspolicypacks
with:
orgName: rest.orgName
policyPackName: rest.policyPackName
outputParameters:
- type: object
mapping: $.
- path: /v1/api/orgs/{orgname}/policypacks/{policypackname}/versions/{version}
name: api-orgs-orgname-policypacks-policypackname-versions-version
description: REST surface for api-orgs-orgName-policypacks-policyPackName-versions-version.
operations:
- method: DELETE
name: deletepolicypackversion
description: DeletePolicyPackVersion
call: pulumi-policypacks.deletepolicypackversion
with:
orgName: rest.orgName
policyPackName: rest.policyPackName
version: rest.version
outputParameters:
- type: object
mapping: $.
- method: GET
name: getpolicypack
description: GetPolicyPack
call: pulumi-policypacks.getpolicypack
with:
orgName: rest.orgName
policyPackName: rest.policyPackName
version: rest.version
outputParameters:
- type: object
mapping: $.
- path: /v1/api/orgs/{orgname}/policypacks/{policypackname}/versions/{version}/complete
name: api-orgs-orgname-policypacks-policypackname-versions-version-complete
description: REST surface for api-orgs-orgName-policypacks-policyPackName-versions-version-complete.
operations:
- method: POST
name: completepolicypack
description: CompletePolicyPack
call: pulumi-policypacks.completepolicypack
with:
orgName: rest.orgName
policyPackName: rest.policyPackName
version: rest.version
outputParameters:
- type: object
mapping: $.
- path: /v1/api/orgs/{orgname}/policypacks/{policypackname}/versions/{version}/schema
name: api-orgs-orgname-policypacks-policypackname-versions-version-schema
description: REST surface for api-orgs-orgName-policypacks-policyPackName-versions-version-schema.
operations:
- method: GET
name: getpolicypackconfigschema
description: GetPolicyPackConfigSchema
call: pulumi-policypacks.getpolicypackconfigschema
with:
orgName: rest.orgName
policyPackName: rest.policyPackName
version: rest.version
outputParameters:
- type: object
mapping: $.
- path: /v1/api/orgs/{orgname}/registry/policypacks/{policypackname}
name: api-orgs-orgname-registry-policypacks-policypackname
description: REST surface for api-orgs-orgName-registry-policypacks-policyPackName.
operations:
- method: GET
name: getorgregistrypolicypack
description: GetOrgRegistryPolicyPack
call: pulumi-policypacks.getorgregistrypolicypack
with:
orgName: rest.orgName
policyPackName: rest.policyPackName
tag: rest.tag
outputParameters:
- type: object
mapping: $.
- path: /v1/registry/policypacks
name: api-preview-registry-policypacks
description: REST surface for api-preview-registry-policypacks.
operations:
- method: GET
name: listpolicypackspreviewregistry
description: ListPolicyPacks
call: pulumi-policypacks.listpolicypackspreviewregistry
with:
access: rest.access
orgLogin: rest.orgLogin
outputParameters:
- type: object
mapping: $.
- method: POST
name: listpolicypackspreviewregistrypost
description: ListPolicyPacks
call: pulumi-policypacks.listpolicypackspreviewregistrypost
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/registry/policypacks/{source}/{publisher}/{name}
name: api-preview-registry-policypacks-source-publisher-name
description: REST surface for api-preview-registry-policypacks-source-publisher-name.
operations:
- method: DELETE
name: deletepolicypackpreviewregistrypolicypacks
description: DeletePolicyPack
call: pulumi-policypacks.deletepolicypackpreviewregistrypolicypacks
with:
source: rest.source
publisher: rest.publisher
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/registry/policypacks/{source}/{publisher}/{name}/versions
name: api-preview-registry-policypacks-source-publisher-name-versions
description: REST surface for api-preview-registry-policypacks-source-publisher-name-versions.
operations:
- method: GET
name: listpolicypackversions
description: ListPolicyPackVersions
call: pulumi-policypacks.listpolicypackversions
with:
source: rest.source
publisher: rest.publisher
name: rest.name
outputParameters:
- type: object
mapping: $.
- method: POST
name: postpublishpolicypackversion
description: PostPublishPolicyPackVersion
call: pulumi-policypacks.postpublishpolicypackversion
with:
source: rest.source
publisher: rest.publisher
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}
name: api-preview-registry-policypacks-source-publisher-name-versions-version
description: REST surface for api-preview-registry-policypacks-source-publisher-name-versions-version.
operations:
- method: DELETE
name: deletepolicypackpreviewregistrypolicypacksversions
description: DeletePolicyPack
call: pulumi-policypacks.deletepolicypackpreviewregistrypolicypacksversions
with:
source: rest.source
publisher: rest.publisher
name: rest.name
version: rest.version
outputParameters:
- type: object
mapping: $.
- method: GET
name: getpolicypackversion
description: GetPolicyPackVersion
call: pulumi-policypacks.getpolicypackversion
with:
source: rest.source
publisher: rest.publisher
name: rest.name
version: rest.version
outputParameters:
- type: object
mapping: $.
- path: /v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}/complete
name: api-preview-registry-policypacks-source-publisher-name-versions-version-complete
description: REST surface for api-preview-registry-policypacks-source-publisher-name-versions-version-complete.
operations:
- method: POST
name: postpublishpolicypackversioncomplete
description: PostPublishPolicyPackVersionComplete
call: pulumi-policypacks.postpublishpolicypackversioncomplete
with:
source: rest.source
publisher: rest.publisher
name: rest.name
version: rest.version
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: pulumi-policypacks-mcp
port: 9090
transport: http
description: MCP adapter for Pulumi APIs — PolicyPacks. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: listpolicypacks
description: ListPolicyPacks
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-policypacks.listpolicypacksorgs
with:
orgName: tools.orgName
policypack: tools.policypack
outputParameters:
- type: object
mapping: $.
- name: createpolicypack
description: CreatePolicyPack
hints:
readOnly: false
destructive: false
idempotent: false
call: pulumi-policypacks.createpolicypack
with:
orgName: tools.orgName
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: deletepolicypack
description: DeletePolicyPack
hints:
readOnly: false
destructive: true
idempotent: true
call: pulumi-policypacks.deletepolicypackorgspolicypacks
with:
orgName: tools.orgName
policyPackName: tools.policyPackName
outputParameters:
- type: object
mapping: $.
- name: deletepolicypackversion
description: DeletePolicyPackVersion
hints:
readOnly: false
destructive: true
idempotent: true
call: pulumi-policypacks.deletepolicypackversion
with:
orgName: tools.orgName
policyPackName: tools.policyPackName
version: tools.version
outputParameters:
- type: object
mapping: $.
- name: getpolicypack
description: GetPolicyPack
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-policypacks.getpolicypack
with:
orgName: tools.orgName
policyPackName: tools.policyPackName
version: tools.version
outputParameters:
- type: object
mapping: $.
- name: completepolicypack
description: CompletePolicyPack
hints:
readOnly: false
destructive: false
idempotent: false
call: pulumi-policypacks.completepolicypack
with:
orgName: tools.orgName
policyPackName: tools.policyPackName
version: tools.version
outputParameters:
- type: object
mapping: $.
- name: getpolicypackconfigschema
description: GetPolicyPackConfigSchema
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-policypacks.getpolicypackconfigschema
with:
orgName: tools.orgName
policyPackName: tools.policyPackName
version: tools.version
outputParameters:
- type: object
mapping: $.
- name: getorgregistrypolicypack
description: GetOrgRegistryPolicyPack
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-policypacks.getorgregistrypolicypack
with:
orgName: tools.orgName
policyPackName: tools.policyPackName
tag: tools.tag
outputParameters:
- type: object
mapping: $.
- name: listpolicypacks-2
description: ListPolicyPacks
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-policypacks.listpolicypackspreviewregistry
with:
access: tools.access
orgLogin: tools.orgLogin
outputParameters:
- type: object
mapping: $.
- name: listpolicypacks-3
description: ListPolicyPacks
hints:
readOnly: false
destructive: false
idempotent: false
call: pulumi-policypacks.listpolicypackspreviewregistrypost
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: deletepolicypack-2
description: DeletePolicyPack
hints:
readOnly: false
destructive: true
idempotent: true
call: pulumi-policypacks.deletepolicypackpreviewregistrypolicypacks
with:
source: tools.source
publisher: tools.publisher
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: listpolicypackversions
description: ListPolicyPackVersions
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-policypacks.listpolicypackversions
with:
source: tools.source
publisher: tools.publisher
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: postpublishpolicypackversion
description: PostPublishPolicyPackVersion
hints:
readOnly: false
destructive: false
idempotent: false
call: pulumi-policypacks.postpublishpolicypackversion
with:
source: tools.source
publisher: tools.publisher
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: deletepolicypack-3
description: DeletePolicyPack
hints:
readOnly: false
destructive: true
idempotent: true
call: pulumi-policypacks.deletepolicypackpreviewregistrypolicypacksversions
with:
source: tools.source
publisher: tools.publisher
name: tools.name
version: tools.version
outputParameters:
- type: object
mapping: $.
- name: getpolicypackversion
description: GetPolicyPackVersion
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-policypacks.getpolicypackversion
with:
source: tools.source
publisher: tools.publisher
name: tools.name
version: tools.version
outputParameters:
- type: object
mapping: $.
- name: postpublishpolicypackversioncomplete
description: PostPublishPolicyPackVersionComplete
hints:
readOnly: false
destructive: false
idempotent: false
call: pulumi-policypacks.postpublishpolicypackversioncomplete
with:
source: tools.source
publisher: tools.publisher
name: tools.name
version: tools.version
outputParameters:
- type: object
mapping: $.