{ "opencollection": "1.0.0", "info": { "name": "Puppet Forge v3 Module Operations API", "version": "29" }, "items": [ { "info": { "name": "Module Operations", "type": "folder" }, "items": [ { "info": { "name": "List modules", "type": "http" }, "http": { "method": "GET", "url": "https://forgeapi.puppet.com/v3/modules", "headers": [ { "name": "If-Modified-Since", "value": "" } ], "params": [ { "name": "limit", "value": "", "type": "query", "description": "The numbers of items to return per page" }, { "name": "offset", "value": "", "type": "query", "description": "The number of items to skip before starting to collect the result set" }, { "name": "sort_by", "value": "", "type": "query", "description": "Desired order in which to return results, note that `rank` is only available (and becomes the default) when\na value has been provided for the `query` param\n" }, { "name": "query", "value": "apache", "type": "query", "description": "Freeform textual search query" }, { "name": "tag", "value": "httpd", "type": "query", "description": "Constrain results to modules that have the given tag" }, { "name": "owner", "value": "puppetlabs", "type": "query", "description": "Constrain results to modules owned by the given user" }, { "name": "with_tasks", "value": "", "type": "query", "description": "Constrain results to modules that include\n[Bolt tasks](https://puppet.com/docs/bolt/latest/writing_tasks_and_plans.html)\n" }, { "name": "with_plans", "value": "", "type": "query", "description": "Constrain results to modules that include\n[Bolt plans](https://puppet.com/docs/bolt/latest/writing_tasks_and_plans.html)\n" }, { "name": "with_pdk", "value": "", "type": "query", "description": "Constrain results to modules created with\n[Puppet Development Kit](https://puppet.com/docs/pdk/latest/pdk.html)\n" }, { "name": "premium", "value": "true", "type": "query", "description": "Constrain results to modules that require payment to download (incompatible with the\n`exclude_premium` parameter)\n" }, { "name": "exclude_premium", "value": "true", "type": "query", "description": "Constrain results to modules that are free to download (incompatible with the\n`premium` parameter)\n" }, { "name": "endorsements", "value": "supported+approved", "type": "query", "description": "Constrain results to modules with at least one of the given endorsements" }, { "name": "operatingsystem", "value": "redhat", "type": "query", "description": "Constrain results to modules that explicitly support the given operating system, see\n[metadata.json documentation](https://puppet.com/docs/puppet/latest/modules_metadata.html#specifying-operating-system-compatibility) for more information about possible values, see also the `only_latest` param\n" }, { "name": "operatingsystemrelease", "value": "2012 R2", "type": "query", "description": "Constrain results to modules that explicitly support the\ngiven release of the given operating system, see [metadata.json\ndocumentation](https://puppet.com/docs/puppet/latest/modules_metadata.html#specifying-operating-system-compatibility)\nfor more information about possible values. Requires `operatingsystem`.\n" }, { "name": "pe_requirement", "value": "5.x", "type": "query", "description": "Constrain results to modules that explicitly list a Puppet Enterprise version requirement in the given\n[semantic versioning range](https://puppet.com/docs/puppet/latest/modules_metadata.html#specifying-versions),\nsee also the `only_latest` param\n" }, { "name": "puppet_requirement", "value": "6.x", "type": "query", "description": "Constrain results to modules that explicitly list a Puppet version requirement in the given\n[semantic versioning range](https://puppet.com/docs/puppet/latest/modules_metadata.html#specifying-versions),\nsee also the `only_latest` param\n" }, { "name": "with_minimum_score", "value": "90", "type": "query", "description": "Constrain results to modules with at least one release that has a minimum validation_score greater\nthan or equal to the provided integer, see also the `only_latest` param\n" }, { "name": "module_groups", "value": "base,pe_only", "type": "query", "description": "Constrain results to modules in any of the given module groups unless requesting modules by their slugs. By default, when this parameter is not provided, only modules from the base module group are returned." }, { "name": "show_deleted", "value": "", "type": "query", "description": "Include modules where all released versions have been marked as deleted" }, { "name": "hide_deprecated", "value": "", "type": "query", "description": "Exclude deprecated modules from the results. Treats any value as true." }, { "name": "hide_contribution", "value": "", "type": "query", "description": "Exclude modules seeking contribution from the results. Treats any value as true." }, { "name": "only_latest", "value": "", "type": "query", "description": "When checking modules against the `operatingsystem`, `operatingsystemrelease`,\n`pe_requirement`, or `puppet_requirement` filters, only consider the compatibility\ninformation for the latest release of the module, where \"latest\" means: the module release\nwith the highest precedence, non-pre-release version (see also:\n[semver.org](https://semver.org/#spec-item-11))\n" }, { "name": "slugs", "value": "puppetlabs-stdlib,puppet-logrotate", "type": "query", "description": "A comma-separated list of specific modules to retrieve. Module names should be\nspecified in the hyphenated \"slug\" format (`author_name-module_name`). If at least\none of the requested modules is not found, this endpoint returns a 404 error, with\nthe slugs of the missing module(s) in the body. This parameter is incompatible\nwith the `endorsements`, `module_groups`, `only_latest`, `operatingsystem`,\n`operatingsystemrelease`, `owner`, `pe_requirement`, `puppet_requirement`, `query`,\n`show_deleted`, `hide_deprecated`, `hide_contribution`, `tag`, `with_minimum_score`, `with_pdk`,\n`with_tasks`, and `with_plans` parameters. These will produce 400 errors when\nincluded. Note that any matching soft-deleted modules (modules with no associated\nreleases) will always be included in the results alongside modules with releases.\n" }, { "name": "with_html", "value": "", "type": "query", "description": "Render markdown files (README, REFERENCE, etc.) to HTML before returning results" }, { "name": "include_fields", "value": "docs", "type": "query", "description": "List of top level keys to include in response object, only applies to fields marked 'optional'" }, { "name": "exclude_fields", "value": "readme,changelog,license,reference", "type": "query", "description": "List of top level keys to exclude from response object" }, { "name": "starts_with", "value": "pup", "type": "query", "description": "Constrain results to modules whose slug begins with the provided prefix\n" }, { "name": "supported", "value": "", "type": "query", "description": "Constrain results to [Supported modules](https://forge.puppet.com/supported), see \"endorsements\"\nparam instead\n" }, { "name": "with_release_since", "value": "", "type": "query", "description": "Constrain results to modules that have had at least one release since the given ISO 8601 date\n" } ] }, "docs": "Returns a list of modules meeting the specified search criteria and filters. Results are paginated. All\nof the parameters are optional. To publish or delete a Release resource, see [Release operations](#tag/Release-Operations).\n" }, { "info": { "name": "Fetch module", "type": "http" }, "http": { "method": "GET", "url": "https://forgeapi.puppet.com/v3/modules/:module_slug", "headers": [ { "name": "If-Modified-Since", "value": "" } ], "params": [ { "name": "module_slug", "value": "puppetlabs-apache", "type": "path", "description": "Unique textual identifier (slug) of the Module resource to retrieve" }, { "name": "with_html", "value": "", "type": "query", "description": "Render markdown files (README, REFERENCE, etc.) to HTML before returning results" }, { "name": "include_fields", "value": "docs", "type": "query", "description": "List of top level keys to include in response object, only applies to fields marked 'optional'" }, { "name": "exclude_fields", "value": "readme,changelog,license,reference", "type": "query", "description": "List of top level keys to exclude from response object" } ] }, "docs": "Returns data for a single Module resource identified by the module's `slug` value.\n" }, { "info": { "name": "Deprecate module", "type": "http" }, "http": { "method": "PATCH", "url": "https://forgeapi.puppet.com/v3/modules/:module_slug", "params": [ { "name": "module_slug", "value": "puppetlabs-apache", "type": "path", "description": "Unique textual identifier (slug) of the module to deprecate" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization: Bearer ", "value": "{{Authorization: Bearer }}", "placement": "header" } }, "docs": "Mark a module, identified by the module's `slug` value, as \"deprecated\". Deprecated modules are still\nvisible on the Forge website, but users are directed to strongly consider alternate modules.\n**Because the deprecate action is intended to be one-way, there is no operation for undeprecating a module.**\n" }, { "info": { "name": "Delete module", "type": "http" }, "http": { "method": "DELETE", "url": "https://forgeapi.puppet.com/v3/modules/:module_slug", "params": [ { "name": "module_slug", "value": "puppetlabs-apache", "type": "path", "description": "Unique textual identifier (slug) of the Module resource to retrieve" }, { "name": "reason", "value": "Broken code", "type": "query", "description": "Reason for deletion" } ], "auth": { "type": "apikey", "key": "Authorization: Bearer ", "value": "{{Authorization: Bearer }}", "placement": "header" } }, "docs": "Perform a soft delete of a module, identified by the module's `slug` value. The module's releases will still be available for direct download via their associated `/v3/files` endpoints, but the module will no longer be readily available through the Forge web interface.\n" } ] } ], "bundled": true }