Pulumi RegistryPreview API

The RegistryPreview API from Pulumi — 13 operation(s) for registrypreview.

OpenAPI Specification

pulumi-registrypreview-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: APIs and Definitions for the Pulumi Cloud product.
  title: Pulumi APIs AccessTokens RegistryPreview API
  version: 1.0.0
tags:
- name: RegistryPreview
paths:
  /api/preview/registry/packages:
    get:
      deprecated: true
      description: Retrieves all registry packages accessible to the caller, with support for filtering, sorting, and pagination. No authentication is required, but authenticated requests may include additional usage statistics per package. Results can be filtered by package name, publisher, owning organization, sort field, and visibility level. Results are paginated with a default limit of 100 per page; use the continuationToken from the response to retrieve subsequent pages. Each entry in the response contains the full package metadata including name, publisher, source, version, title, description, repository URL, category, featured status, package types, maturity status, readme URL, schema URL, creation timestamp, and visibility.
      operationId: ListPackages_preview
      parameters:
      - description: When true, sort results in ascending order
        in: query
        name: asc
        schema:
          type: boolean
      - description: Pagination token for retrieving the next page of results
        in: query
        name: continuationToken
        schema:
          type: string
      - description: 'Results per page (default: 100)'
        in: query
        name: limit
        schema:
          format: int64
          type: integer
      - description: Filter by specific package name
        in: query
        name: name
        schema:
          type: string
      - description: Filter by owning organization
        in: query
        name: orgLogin
        schema:
          type: string
      - description: Filter by publisher organization
        in: query
        name: publisher
        schema:
          type: string
      - description: Sort field for results
        in: query
        name: sort
        schema:
          type: string
      - description: Filter by visibility level
        in: query
        name: visibility
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPackagesResponse'
          description: OK
        '400':
          description: Bad continuationToken
      summary: ListPackages
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: ListPackages
        Visibility: Preview
  /api/preview/registry/packages/{source}/{publisher}/{name}/versions:
    post:
      deprecated: true
      description: Initiates the first step of a two-phase package version publish workflow. This creates a publish transaction and returns an operationID along with pre-signed upload URLs for the package artifacts (schema, index, and installationConfiguration). The caller must upload all required artifacts to the provided URLs and then call the PostPublishPackageVersionComplete endpoint with the operationID to finalize the publish. The request body must include the semantic version to publish. Returns 202 Accepted with the operation details, 404 if the source does not exist, or 409 if the specified version already exists.
      operationId: PostPublishPackageVersion_preview
      parameters:
      - description: 'The package source: ''pulumi'', ''opentofu'', or ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the package
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The package name
        in: path
        name: name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartPackagePublishRequest'
        x-originalParamName: body
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartPackagePublishResponse'
          description: Accepted
        '404':
          description: Source
        '409':
          description: Version already exists
      summary: PostPublishPackageVersion
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: PostPublishPackageVersion
        Visibility: Preview
  /api/preview/registry/packages/{source}/{publisher}/{name}/versions/{version}:
    delete:
      deprecated: true
      description: Removes a specific version of a package from the registry. The package is identified by its source (e.g. 'pulumi', 'opentofu', or 'private'), publisher organization, name, and semantic version. Requires the RegistryPublish permission on the publisher organization. Returns 204 No Content on success.
      operationId: DeletePublishPackageVersion_preview
      parameters:
      - description: 'The package source: ''pulumi'', ''opentofu'', or ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the package
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The package name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string of the package version to delete
        in: path
        name: version
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      summary: DeletePublishPackageVersion
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: DeletePublishPackageVersion
        Visibility: Preview
    get:
      deprecated: true
      description: Retrieves metadata for a specific version of a registry package. The package is identified by its source, publisher organization, and name. The version parameter accepts either a specific semantic version string or the special value 'latest' to retrieve the most recently published version. The response includes the package's name, publisher, version, title, description, repository URL, category, featured status, package types, maturity status, readme URL, schema URL, plugin download URL, creation timestamp, visibility, parameterization details, and usage statistics (when the caller is authenticated). Returns 404 if the specified package version does not exist.
      operationId: GetPackageVersion_preview
      parameters:
      - description: 'The package source: ''pulumi'', ''opentofu'', or ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the package
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The package name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string or 'latest'
        in: path
        name: version
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackageMetadata'
          description: OK
        '404':
          description: package version
      summary: GetPackageVersion
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: GetPackageVersion
        Visibility: Preview
  /api/preview/registry/packages/{source}/{publisher}/{name}/versions/{version}/complete:
    post:
      deprecated: true
      description: Finalizes the second step of the two-phase package version publish workflow. After initiating a publish with PostPublishPackageVersion and uploading all required artifacts (schema, index, installationConfiguration) to the pre-signed URLs, call this endpoint with the operationID to complete the publish. The service validates that all artifacts were uploaded successfully before making the version available in the registry. Returns 201 Created on success, 400 for a bad request (e.g. missing artifacts), 404 if the publish operation is not found, or 409 if the version already exists.
      operationId: PostPublishPackageVersionComplete_preview
      parameters:
      - description: 'The package source: ''pulumi'', ''opentofu'', or ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the package
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The package name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string of the package version to complete
        in: path
        name: version
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishPackageVersionCompleteRequest'
        x-originalParamName: body
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishPackageVersionCompleteResponse'
          description: Created
        '400':
          description: Bad request
        '404':
          description: Publish Operation
        '409':
          description: Version already exists
      summary: PostPublishPackageVersionComplete
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: PostPublishPackageVersionComplete
        Visibility: Preview
  /api/preview/registry/policypacks:
    get:
      deprecated: true
      description: Lists all policy packs accessible to the calling user for a given organization. The orgLogin query parameter is required and restricts results to policy packs owned by that organization. Results can optionally be filtered by access level. No authentication is required. Returns 400 if the policy pack access filter value is invalid. This is the deprecated GET variant; prefer the POST ListPolicyPacks endpoint instead.
      operationId: ListPolicyPacks_preview_registry
      parameters:
      - description: Filter by access level
        in: query
        name: access
        schema:
          type: string
      - description: Required. Filter by owning organization
        in: query
        name: orgLogin
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPolicyPacksResponse'
          description: OK
        '400':
          description: Policy pack access is not valid
      summary: ListPolicyPacks
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: ListPolicyPacks_preview_registry_post
        Visibility: Preview
    post:
      description: Lists all policy packs accessible to the calling user, with support for filtering by access level, organization, and specific policy pack IDs. The request body accepts an optional orgLogin to scope results to a specific organization, an optional access level filter (defaults to 'enabled'), and an optional list of policy pack IDs to restrict the results to specific packs. No authentication is required. Returns 400 if the access filter value is invalid.
      operationId: ListPolicyPacks_preview_registry_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListPolicyPacksRequest'
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPolicyPacksResponse'
          description: OK
        '400':
          description: Policy pack access is not valid
      summary: ListPolicyPacks
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Visibility: Preview
  /api/preview/registry/policypacks/{source}/{publisher}/{name}:
    delete:
      description: Deletes a policy pack and all of its versions from the registry. The policy pack is identified by its source (currently only 'private'), publisher organization, and name. This is a destructive operation that permanently removes the policy pack and all associated version data. Requires the RegistryPublish permission on the publisher organization. Returns 404 if the policy pack does not exist.
      operationId: DeletePolicyPack_preview_registry_policypacks
      parameters:
      - description: 'The policy pack source: ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the policy pack
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The policy pack name
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Policy pack not found
      summary: DeletePolicyPack
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Visibility: Preview
  /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions:
    get:
      description: Lists all versions of a specific policy pack. The policy pack is identified by its source (currently only 'private'), publisher organization, and name. The response includes a list of policy pack version metadata and an optional continuationToken for pagination. Returns 404 if the policy pack does not exist.
      operationId: ListPolicyPackVersions
      parameters:
      - description: 'The policy pack source: ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the policy pack
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The policy pack name
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPolicyPacksResponse'
          description: OK
        '404':
          description: error getting Registry Policy Pack
      summary: ListPolicyPackVersions
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Visibility: Preview
    post:
      description: Initiates the first step of a two-phase policy pack version publish workflow. The policy pack is identified by its source (currently only 'private'), publisher organization, and name. This creates a publish transaction that must be completed by calling PostPublishPolicyPackVersionComplete. Requires the RegistryPublish permission on the publisher organization. Returns 404 if the policy pack is not found.
      operationId: PostPublishPolicyPackVersion
      parameters:
      - description: 'The policy pack source: ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the policy pack
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The policy pack name
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Policy pack not found
      summary: PostPublishPolicyPackVersion
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Visibility: Preview
  /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions/{version}:
    delete:
      description: Deletes a specific version of a policy pack from the registry. The policy pack version is identified by its source (currently only 'private'), publisher organization, name, and semantic version string. Requires the RegistryPublish permission on the publisher organization. Returns 404 if the specified policy pack version does not exist.
      operationId: DeletePolicyPack_preview_registry_policypacks_versions
      parameters:
      - description: 'The policy pack source: ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the policy pack
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The policy pack name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string of the policy pack version to delete
        in: path
        name: version
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Policy pack not found
      summary: DeletePolicyPack
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Visibility: Preview
    get:
      description: Retrieves detailed information about a specific version of a policy pack, including the individual policy definitions. The policy pack is identified by its source (currently only 'private'), publisher organization, and name. The version parameter accepts either a specific semantic version string or the special value 'latest' to retrieve the most recently published version. The response includes the policy pack metadata and an optional list of policies, where each policy includes its configuration schema and enforcement rules. Returns 404 if the specified policy pack does not exist.
      operationId: GetPolicyPackVersion
      parameters:
      - description: 'The policy pack source: ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the policy pack
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The policy pack name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string or 'latest'
        in: path
        name: version
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRegistryPolicyPackVersionResponse'
          description: OK
        '404':
          description: Policy Pack
      summary: GetPolicyPackVersion
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Visibility: Preview
  /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions/{version}/complete:
    post:
      description: Finalizes the second step of the two-phase policy pack version publish workflow. After initiating a publish with PostPublishPolicyPackVersion, call this endpoint with the policy pack source, publisher, name, and version to complete the publish and make the version available in the registry. Requires the RegistryPublish permission on the publisher organization. Returns 404 if the publish operation is not found.
      operationId: PostPublishPolicyPackVersionComplete
      parameters:
      - description: 'The policy pack source: ''private'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the policy pack
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The policy pack name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string of the policy pack version to complete
        in: path
        name: version
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Publish operation not found
      summary: PostPublishPolicyPackVersionComplete
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Visibility: Preview
  /api/preview/registry/templates:
    get:
      deprecated: true
      description: Lists registry-backed templates with optional filtering, search, and pagination. This endpoint returns only registry-backed templates and does not include VCS-backed templates (those sourced from GitHub or GitLab repositories). No authentication is required. Results can be filtered by template name and owning organization (orgLogin). The search parameter performs case-insensitive partial matching against the template name, display name, description, metadata values, and runtime language. Results are paginated with a default limit of 100 per page; use the continuationToken from the response to retrieve subsequent pages. Each entry in the response includes the template's name, publisher, source, display name, description, runtime, language, readme URL, download URL, visibility, and updated timestamp.
      operationId: ListTemplates_preview
      parameters:
      - description: Pagination token for retrieving the next page of results
        in: query
        name: continuationToken
        schema:
          type: string
      - description: 'Maximum number of results to return (default: 100)'
        in: query
        name: limit
        schema:
          format: int64
          type: integer
      - description: Filter by specific template name
        in: query
        name: name
        schema:
          type: string
      - description: Filter by owning organization
        in: query
        name: orgLogin
        schema:
          type: string
      - description: Search query matching template name, display name, description, metadata values, or runtime language. Multiple space-separated terms require all terms to match (AND semantics).
        in: query
        name: search
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTemplatesResponse'
          description: OK
        '400':
          description: Bad continuationToken
      summary: ListTemplates
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: ListTemplates
        Visibility: Preview
  /api/preview/registry/templates/{source}/{publisher}/{name}/versions:
    post:
      deprecated: true
      description: Initiates the first step of a two-phase template version publish workflow. This creates a publish transaction and returns an operationID along with a pre-signed upload URL for the template archive. The source must be 'private'. The caller must upload the template archive (a gzip-compressed tar file containing a root-level Pulumi.yaml with a template section, and optionally a README.md) to the provided URL, then call PostPublishTemplateVersionComplete with the operationID to finalize the publish. The request body must include the semantic version to publish. Returns 202 Accepted with the operation details, or 404 if the source does not exist.
      operationId: PostPublishTemplateVersion_preview
      parameters:
      - description: 'The template source: ''private'', ''github'', or ''gitlab'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the template
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The template name
        in: path
        name: name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartTemplatePublishRequest'
        x-originalParamName: body
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartTemplatePublishResponse'
          description: Accepted
        '404':
          description: Source
      summary: PostPublishTemplateVersion
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: PostPublishTemplateVersion
        Visibility: Preview
  /api/preview/registry/templates/{source}/{publisher}/{name}/versions/{version}:
    delete:
      deprecated: true
      description: Removes a specific version of a template from the registry. The template is identified by its source (e.g. 'private', 'github', or 'gitlab'), publisher organization, name, and semantic version. If this is the last remaining version of the template, the 'force' query parameter must be set to true; doing so will also delete the template itself. Returns 204 No Content on success, or 400 if an invalid query parameter is provided.
      operationId: DeleteTemplateVersion_preview
      parameters:
      - description: 'The template source: ''private'', ''github'', or ''gitlab'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the template
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The template name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string of the template version to delete
        in: path
        name: version
        required: true
        schema:
          type: string
      - description: When true, allows deletion of the final remaining template version
        in: query
        name: force
        schema:
          type: boolean
      responses:
        '204':
          description: No Content
        '400':
          description: invalid query parameter
      summary: DeleteTemplateVersion
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: DeleteTemplateVersion
        Visibility: Preview
    get:
      deprecated: true
      description: Retrieves metadata for a specific version of a registry template. The template is identified by its source (e.g. 'private', 'github', or 'gitlab'), publisher organization, and name. The version parameter accepts either a specific semantic version string or the special value 'latest' to retrieve the most recent version. The response includes the template's name, display name, description, runtime information, language, readme URL, download URL (a pre-signed URL valid for at least 5 minutes for retrieving the .tar.gz archive), repository slug (for VCS-backed templates), visibility, updated timestamp, metadata, and configuration values. Returns 400 if a specific version is provided for VCS-backed templates (which do not support versioning), or 404 if the template version does not exist.
      operationId: GetTemplateVersion_preview
      parameters:
      - description: 'The template source: ''private'', ''github'', or ''gitlab'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the template
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The template name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string or 'latest'
        in: path
        name: version
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTemplateResponse'
          description: OK
        '400':
          description: version cannot be specified for VCS-backed templates
        '404':
          description: template version
      summary: GetTemplateVersion
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: GetTemplateVersion
        Visibility: Preview
  /api/preview/registry/templates/{source}/{publisher}/{name}/versions/{version}/complete:
    post:
      deprecated: true
      description: Finalizes the second step of the two-phase template version publish workflow. After initiating a publish with PostPublishTemplateVersion and uploading the template archive (.tar.gz) to the pre-signed URL, call this endpoint with the operationID to complete the publish. The service validates that the archive was uploaded successfully before making the version available in the registry. Once complete, the template becomes available to the publisher's organization. Returns 201 Created on success, 400 for invalid operation state, 404 if the publish operation is not found, or 409 if the version already exists.
      operationId: PostPublishTemplateVersionComplete_preview
      parameters:
      - description: 'The template source: ''private'', ''github'', or ''gitlab'''
        in: path
        name: source
        required: true
        schema:
          type: string
      - description: Organization that owns the template
        in: path
        name: publisher
        required: true
        schema:
          type: string
      - description: The template name
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Semantic version string of the template version to complete
        in: path
        name: version
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishTemplateVersionCompleteRequest'
        x-originalParamName: body
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishTemplateVersionCompleteResponse'
          description: Created
        '400':
          description: Operation
        '404':
          description: Publish Operation
        '409':
          description: Version already exists
      summary: PostPublishTemplateVersionComplete
      tags:
      - RegistryPreview
      x-pulumi-route-property:
        Deprecated: true
        SupersededBy: PostPublishTemplateVersionComplete
        Visibility: Preview
components:
  schemas:
    PublishTemplateVersionCompleteRequest:
      description: PublishTemplateVersionCompleteRequest is a request to mark a template version publish operation as complete.
      properties:
        operationID:
          description: The identifier of the publish operation to complete.
          type: string
          x-order: 1
      required:
      - operationID
      type: object
    AppPolicyComplianceFramework:
      description: PolicyComplianceFramework represents a compliance framework that a policy belongs to.
      properties:
        name:
          description: The compliance framework name.
          type: string
          x-order: 1
        reference:
          description: The compliance framework reference.
          type: string
          x-order: 3
        specification:
          description: The compliance framework specification.
          type: string
          x-order: 4
        version:
          description: The compliance framework version.
          type: string
          x-order: 2
      type: object
    StartPackagePublishRequest:
      description: Request to start publishing a package to the registry.
      properties:
        publishedAt:
          description: Optional timestamp for when the package version was originally published. If not provided, defaults to current server time. Useful for backfilling histori

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pulumi/refs/heads/main/openapi/pulumi-registrypreview-api-openapi.yml