Puppet provides a number of APIs that allow you to interact with Puppet applications. On this page, you’ll find a brief description of each API to help you figure out when to use which API.
PuppetDB comes with a number of APIs. The PuppetDB query API is used to query the data that PuppetDB collects from Puppet. You can query information such as:
There are also APIs for importing/exporting PuppetDB archives, changing PuppetDB’s model of a population, querying information about the PuppetDB server, and querying PuppetDB metrics.
For a full list of PuppetDB APIs and endpoints, see PuppetDB API overview.
Use the RBAC service API v1 to manage access to Puppet Enterprise, including connecting to external directories, generating authentication tokens, and managing users, user roles, user groups, and user permissions.
For detailed information and RBAC service API v1 endpoints, see RBAC v1 endpoints.
The RBAC service API v2 features the ability to revoke authentication tokens.
For detailed information and RBAC service API v2 endpoints, see RBAC v2 endpoints.
Use the node classifier service API to query node classification data, such as the groups that a node matches, the classes, parameters, and variables that have been assigned to a node or group, and the environment that a node is in.
For detailed information and node classifier service API endpoints, see Node classifier endpoints.
Use the Puppet orchestrator API to gather details about the orchestrator jobs you run and to inspect applications and applications instances in your Puppet environments.
For detailed information about the orchestrator API v1 endpoints, see Puppet orchestrator endpoints.
Use the Code Manager API to:
For information about the
webhook endpoint, see Webhook endpoint.
For information about the
deploy endpoint, see Deploys endpoint.
You can use this API to:
Use the status API to check the health status of PE services. For detailed information and status API endpoints, see Monitoring PE services.
Use the activity service API to query the events that are logged by the activity service. The activity service logs Puppet Enterprise events by service and user.
Use the Razor API to provision bare-metal machines. For detailed information and the Razor API endpoints, see the Razor API reference.
Use the Forge API to get information about modules and users on the Puppet Forge. Using the Forge API, you can write scripts and tools that interact with the Forge website. For detailed information and Forge API endpoints, see Puppet Forge API.
This API is used internally by Puppet to manage Puppet agent certificates. For detailed information and CA API endpoints, see the CA API documentation. For information about how this API is used internally by Puppet, see the Agent/Master HTTPs Communications page. For information about the Puppet Cert command line tool, see the Puppet’s Commands page.
This API is used by the Puppet agent in communication with the Puppet master. Although it is primarily used internally by Puppet services, you can use it to get a catalog for a node, and to get environment information. For detailed information and Puppet API endpoints, see the Puppet API documentation. For information about how this API is used internally by Puppet, see the Agent/Master HTTPs Communications page.
The file sync API has endpoints for committing code to a Master of Masters and synchronizing code with compile masters.
Important Note: Puppet only supports file sync through use of Code Manager. Directly accessing the file sync API is not supported and not recommended.
For detailed information and file sync API endpoints, see our guide to the file sync API.