Skip to main content

Overview

Bulk API endpoints allow performing multiple operations in a single request, reducing overhead and improving performance. Based on docs/bulk_api.md from the AWX source.

Available Endpoints

Bulk Job Launch

Launch multiple jobs in a single request. AWX creates a workflow job with individual jobs as nodes.

Endpoint

Basic Example

string
required
Name for the bulk job (workflow)
array
required
Array of job definitions
integer
Organization to assign to workflow (required for users in multiple orgs)

Job-Level Prompts

Promptable fields (if enabled on template):
  • inventory
  • credentials (array)
  • limit
  • job_type
  • verbosity
  • job_tags
  • skip_tags
  • extra_vars
  • diff_mode
  • scm_branch
Instance groups are not supported at the node level and will be ignored.

Workflow-Level Prompts

Provide defaults for all jobs:
The inventory: 2 applies to templates 11, 12, and 13 where inventory is promptable.

Limits

Maximum jobs per request is controlled by BULK_JOB_MAX_LAUNCH setting.

RBAC

Who can bulk launch?
  • Any authenticated user
  • Requires execute or update permission on each template
Organization assignment:
  • Superusers: Can assign any organization or none
  • Single org users: Organization auto-assigned
  • Multi-org users: Must specify organization
Who can see bulk jobs?
  • System admins and org admins see workflow in job lists
  • Regular users see only individual jobs, not the parent workflow

Response

Returns a workflow job:

Bulk Host Create

Create multiple hosts in an inventory with one request.

Endpoint

Example

integer
required
Inventory ID
array
required
Array of host objects with name and optional variables

Limits

  • Maximum hosts per request: BULK_HOST_MAX_CREATE (default: 100)
  • Maximum payload size: 1MB (nginx limit)

Response

Bulk Host Delete

Delete multiple hosts in one request.

Endpoint

Example

array
required
Array of host IDs to delete

Limits

  • Maximum hosts per request: BULK_HOST_MAX_DELETE (default: 250)
  • Maximum payload size: 1MB (nginx limit)

Response

Performance Benefits

Bulk APIs prevent:
  • Overwhelming AWX with rapid individual requests
  • 504 timeout errors from excessive concurrency
  • Excessive database queries and connections
  • Rate limiting issues
Instead of launching 100 jobs individually, use bulk launch to create a single workflow.
When adding/removing many hosts, use bulk endpoints instead of individual API calls.
Respect BULK_*_MAX_* settings to avoid errors. Break large operations into batches.

Complete Example