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: $.