Ansible Playbooks website screenshot

Ansible Playbooks

A curated collection of APIs, tools, and platforms for managing and executing Ansible playbooks for IT automation, configuration management, and orchestration. Covers the Ansible Automation Platform, AWX, Galaxy, Automation Hub, Runner, and Semaphore APIs that power modern infrastructure automation workflows.

6 APIs 6 Features
AnsibleAutomationConfiguration ManagementDevOpsInfrastructure As CodeOrchestrationPlaybooks

APIs

Ansible Automation Platform API

REST API for Ansible Automation Platform (formerly Ansible Tower/AWX) to manage playbooks, inventories, credentials, job templates, and job execution at enterprise scale. Suppor...

AWX API

AWX is the open-source upstream project for Ansible Automation Platform, providing a web-based UI, REST API, and task engine for Ansible. The AWX API offers programmatic access ...

Ansible Runner API

Ansible Runner is a Python library and CLI tool that provides a stable and consistent interface for executing Ansible playbooks programmatically from within other applications a...

Ansible Galaxy API

Ansible Galaxy is the community hub for sharing Ansible roles and collections. The Galaxy REST API enables searching, downloading, and publishing Ansible content. Supports v1 (r...

Ansible Automation Hub API

Red Hat Ansible Automation Hub is the enterprise content hub for certified Ansible collections, roles, and execution environments. The API provides access to Red Hat certified a...

Ansible Semaphore API

Ansible Semaphore is an open-source modern web UI and REST API for running Ansible playbooks. It provides project management, task scheduling, access control, and a clean interf...

Collections

Pricing Plans

Rate Limits

Ansible Playbooks Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Playbook Execution via API

Launch, monitor, and cancel Ansible playbook runs programmatically via REST API with support for extra vars, limits, and tags.

Inventory Management

Create and manage dynamic and static inventories with groups, hosts, and host variables through the API.

Credential Storage

Securely store SSH keys, cloud credentials, and vault passwords in encrypted credential objects accessible to jobs.

Workflow Templates

Chain multiple job templates into orchestrated workflows with conditional success/failure branching.

Scheduling

Schedule playbook runs on recurring schedules using rrule-based calendar expressions.

Collections and Role Management

Discover, download, and manage Ansible collections and roles from Galaxy, Automation Hub, or private repositories.

Use Cases

Infrastructure Provisioning

Automate the provisioning of cloud resources, VMs, and bare-metal servers using Ansible playbooks triggered via API.

Configuration Management

Enforce consistent configuration state across server fleets by scheduling and executing configuration playbooks via API.

CI/CD Pipeline Integration

Trigger Ansible playbook runs as deployment steps within Jenkins, GitLab CI, GitHub Actions, and other CI/CD platforms.

Compliance and Remediation

Run compliance playbooks on demand or on schedule to detect and remediate drift from desired security baseline states.

Network Automation

Automate network device configuration, firmware upgrades, and compliance checks using Ansible network collections via the API.

Integrations

Red Hat OpenShift

Deploy and configure OpenShift clusters and workloads using Ansible Automation Platform integrated with OpenShift pipelines.

ServiceNow

Trigger Ansible job templates from ServiceNow ITSM workflows for automated ticket remediation and change management.

GitHub Actions

Use the Ansible Automation Platform GitHub Action to trigger playbook runs as part of GitHub CI/CD workflows.

Terraform

Combine Terraform for infrastructure provisioning with Ansible for post-provisioning configuration management.

Splunk

Use Ansible collections to configure Splunk deployments and automate security alert remediation workflows.

Semantic Vocabularies

Ansible Playbooks Context

4 classes · 20 properties

JSON-LD

JSON Structure

Ansible Playbooks Inventory Structure

13 properties

JSON STRUCTURE

Ansible Playbooks Playbook Job Structure

17 properties

JSON STRUCTURE

Example Payloads

Resources

🚀
GettingStarted
GettingStarted
🔗
BestPractices
BestPractices
📰
Blog
Blog
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
👥
GitHubOrganization
GitHubOrganization
🔗
Forums
Forums
🔗
Playbook Job Schema
JSONSchema
🔗
Inventory Schema
JSONSchema
🔗
Vocabulary
Vocabulary

Sources

apis.yml Raw ↑
opencollection: 1.0.0
info:
  name: Ansible Automation Controller Playbooks API
  version: '2'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Auth
    type: folder
  items:
  - info:
      name: List OAuth2 tokens
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/tokens/
    docs: List OAuth2 tokens
  - info:
      name: Create an OAuth2 personal access token
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/tokens/
      body:
        type: json
        data: '{}'
    docs: Create an OAuth2 personal access token
- info:
    name: Organizations
    type: folder
  items:
  - info:
      name: List organizations
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/organizations/
      params:
      - name: page
        value: ''
        type: query
      - name: page_size
        value: ''
        type: query
      - name: search
        value: ''
        type: query
    docs: List organizations
  - info:
      name: Create an organization
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/organizations/
      body:
        type: json
        data: '{}'
    docs: Create an organization
  - info:
      name: Retrieve an organization
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/organizations/:id/
      params:
      - name: id
        value: ''
        type: path
    docs: Retrieve an organization
  - info:
      name: Partially update an organization
      type: http
    http:
      method: PATCH
      url: https://{controller_host}/api/v2/organizations/:id/
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Partially update an organization
  - info:
      name: Delete an organization
      type: http
    http:
      method: DELETE
      url: https://{controller_host}/api/v2/organizations/:id/
      params:
      - name: id
        value: ''
        type: path
    docs: Delete an organization
- info:
    name: Users
    type: folder
  items:
  - info:
      name: List users
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/users/
      params:
      - name: page
        value: ''
        type: query
      - name: page_size
        value: ''
        type: query
    docs: List users
  - info:
      name: Create a user
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/users/
      body:
        type: json
        data: '{}'
    docs: Create a user
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: List projects
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/projects/
    docs: List projects
  - info:
      name: Create a project
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/projects/
      body:
        type: json
        data: '{}'
    docs: Create a project
  - info:
      name: Retrieve a project
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/projects/:id/
      params:
      - name: id
        value: ''
        type: path
    docs: Retrieve a project
  - info:
      name: Trigger an SCM project update
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/projects/:id/update/
      params:
      - name: id
        value: ''
        type: path
    docs: Trigger an SCM project update
- info:
    name: Inventories
    type: folder
  items:
  - info:
      name: List inventories
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/inventories/
    docs: List inventories
  - info:
      name: Create an inventory
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/inventories/
      body:
        type: json
        data: '{}'
    docs: Create an inventory
  - info:
      name: Retrieve an inventory
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/inventories/:id/
      params:
      - name: id
        value: ''
        type: path
    docs: Retrieve an inventory
  - info:
      name: Delete an inventory
      type: http
    http:
      method: DELETE
      url: https://{controller_host}/api/v2/inventories/:id/
      params:
      - name: id
        value: ''
        type: path
    docs: Delete an inventory
- info:
    name: Hosts
    type: folder
  items:
  - info:
      name: List hosts
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/hosts/
    docs: List hosts
  - info:
      name: Create a host
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/hosts/
      body:
        type: json
        data: '{}'
    docs: Create a host
- info:
    name: Credentials
    type: folder
  items:
  - info:
      name: List credentials
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/credentials/
    docs: List credentials
  - info:
      name: Create a credential
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/credentials/
      body:
        type: json
        data: '{}'
    docs: Create a credential
- info:
    name: Job Templates
    type: folder
  items:
  - info:
      name: List job templates
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/job_templates/
    docs: List job templates
  - info:
      name: Create a job template
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/job_templates/
      body:
        type: json
        data: '{}'
    docs: Create a job template
  - info:
      name: Retrieve a job template
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/job_templates/:id/
      params:
      - name: id
        value: ''
        type: path
    docs: Retrieve a job template
  - info:
      name: Launch a job template
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/job_templates/:id/launch/
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Launch a job template
- info:
    name: Jobs
    type: folder
  items:
  - info:
      name: List jobs
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/jobs/
      params:
      - name: page
        value: ''
        type: query
      - name: page_size
        value: ''
        type: query
      - name: status
        value: ''
        type: query
    docs: List jobs
  - info:
      name: Retrieve a job
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/jobs/:id/
      params:
      - name: id
        value: ''
        type: path
    docs: Retrieve a job
  - info:
      name: Cancel a job
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/jobs/:id/cancel/
      params:
      - name: id
        value: ''
        type: path
    docs: Cancel a job
  - info:
      name: Get job stdout
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/jobs/:id/stdout/
      params:
      - name: id
        value: ''
        type: path
      - name: format
        value: ''
        type: query
    docs: Get job stdout
- info:
    name: Workflow Job Templates
    type: folder
  items:
  - info:
      name: List workflow job templates
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/workflow_job_templates/
    docs: List workflow job templates
  - info:
      name: Launch a workflow job template
      type: http
    http:
      method: POST
      url: https://{controller_host}/api/v2/workflow_job_templates/:id/launch/
      params:
      - name: id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Launch a workflow job template
- info:
    name: Workflow Jobs
    type: folder
  items:
  - info:
      name: List workflow jobs
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/workflow_jobs/
    docs: List workflow jobs
- info:
    name: Schedules
    type: folder
  items:
  - info:
      name: List schedules
      type: http
    http:
      method: GET
      url: https://{controller_host}/api/v2/schedules/
    docs: List schedules
bundled: true