openapi: 3.1.0 info: title: Porter Bundle Bundles ParameterSets API description: The Porter Bundle API provides programmatic access to managing Cloud Native Application Bundles (CNAB) using Porter. It supports listing and inspecting bundles, managing installations, handling credential sets and parameter sets, and querying installation runs and outputs. Porter implements the CNAB spec for packaging applications with their dependencies into distributable installers. version: 1.0.0 contact: name: Porter Community url: https://porter.sh/community/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: http://localhost:3000 description: Porter local server (porter server) security: - bearerAuth: [] tags: - name: ParameterSets description: Operations for managing parameter sets that supply configuration values to bundle executions. paths: /v1/parametersets: get: operationId: listParameterSets summary: Porter List parameter sets description: Returns all parameter sets managed by Porter. A parameter set maps bundle parameter names to their sources, enabling reuse of parameter configurations across multiple bundle installations. tags: - ParameterSets parameters: - $ref: '#/components/parameters/namespace' - $ref: '#/components/parameters/name' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/limit' responses: '200': description: List of parameter sets content: application/json: schema: $ref: '#/components/schemas/ParameterSetListResponse' '401': description: Unauthorized post: operationId: createParameterSet summary: Porter Create a parameter set description: Creates a new parameter set defining how bundle parameter names are resolved at execution time. tags: - ParameterSets requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ParameterSet' responses: '201': description: Parameter set created content: application/json: schema: $ref: '#/components/schemas/ParameterSet' '400': description: Invalid parameter set specification '401': description: Unauthorized /v1/parametersets/{namespace}/{name}: get: operationId: getParameterSet summary: Porter Get a parameter set description: Returns the specified parameter set including its parameter mappings. Sensitive parameter values sourced from secret stores are not included in responses. tags: - ParameterSets parameters: - $ref: '#/components/parameters/namespace_path' - $ref: '#/components/parameters/name_path' responses: '200': description: Parameter set details content: application/json: schema: $ref: '#/components/schemas/ParameterSet' '401': description: Unauthorized '404': description: Parameter set not found delete: operationId: deleteParameterSet summary: Porter Delete a parameter set description: Deletes the specified parameter set. Installations referencing this parameter set will need to be updated before re-running. tags: - ParameterSets parameters: - $ref: '#/components/parameters/namespace_path' - $ref: '#/components/parameters/name_path' responses: '204': description: Parameter set deleted '401': description: Unauthorized '404': description: Parameter set not found components: parameters: name_path: name: name in: path required: true description: Name of the resource. schema: type: string namespace_path: name: namespace in: path required: true description: Porter namespace of the resource. schema: type: string skip: name: skip in: query required: false description: Number of records to skip for pagination. schema: type: integer minimum: 0 default: 0 name: name: name in: query required: false description: Filter results by resource name. schema: type: string limit: name: limit in: query required: false description: Maximum number of records to return per page. schema: type: integer minimum: 1 maximum: 500 default: 100 namespace: name: namespace in: query required: false description: Porter namespace to scope the query to. Defaults to the current namespace configured in Porter's context. schema: type: string schemas: ParameterMapping: type: object description: Maps a bundle parameter name to its runtime source. required: - name - source properties: name: type: string description: Name of the bundle parameter this mapping applies to. source: $ref: '#/components/schemas/ValueSource' ValueSource: type: object description: Defines where a credential or parameter value is sourced from at execution time. Exactly one of the source fields should be set. properties: env: type: string description: Name of an environment variable providing the value. path: type: string description: Absolute path to a file providing the value. value: type: string description: A literal string value. secret: type: string description: Reference to a secret in the configured secret store plugin, such as a secret name in HashiCorp Vault or Azure Key Vault. command: type: string description: Shell command whose stdout provides the value. ParameterSetListResponse: type: object description: Paginated list of parameter sets. properties: items: type: array items: $ref: '#/components/schemas/ParameterSet' total: type: integer ParameterSet: type: object description: A named collection of parameter mappings that resolve bundle parameter names to their runtime sources, enabling reuse across installations. required: - name - parameters properties: name: type: string description: Name of the parameter set. namespace: type: string description: Porter namespace this parameter set belongs to. parameters: type: array description: List of parameter mappings. items: $ref: '#/components/schemas/ParameterMapping' labels: type: object additionalProperties: type: string description: Labels for categorizing the parameter set. createdAt: type: string format: date-time description: Timestamp when the parameter set was created. updatedAt: type: string format: date-time description: Timestamp when the parameter set was last updated. securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token for authenticating to the Porter server API. externalDocs: description: Porter Documentation url: https://porter.sh/docs/