Overview
Projects in AWX represent source control repositories containing Ansible playbooks. They synchronize content from Git, Subversion, or other SCM systems.Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v2/projects/ | List projects |
| POST | /api/v2/projects/ | Create project |
| GET | /api/v2/projects/{id}/ | Retrieve project |
| PATCH | /api/v2/projects/{id}/ | Update project |
| DELETE | /api/v2/projects/{id}/ | Delete project |
| POST | /api/v2/projects/{id}/update/ | Trigger SCM update |
| POST | /api/v2/projects/{id}/copy/ | Copy project |
List Projects
Create Project
Project name (unique within organization)
Project description
Organization ID
Source control type:
git, svn, insights, archive, or empty for manualSCM repository URL (required if scm_type is set)
SCM branch, tag, or commit to checkout
Git refspec for advanced SCM operations
Discard local changes before syncing
Delete repository on update
Track Git submodules
SCM credential ID for authentication
Update timeout in seconds (0 = no timeout)
Local path for manual projects (read-only for SCM projects)
Update repository before running jobs
Cache timeout for project updates (seconds)
Allow changing branch per job template
Default execution environment ID
Retrieve Project
Response Schema
Project ID
Project name
Project description
SCM type:
git, svn, insights, archive, or emptyRepository URL
Branch/tag/commit
Git refspec
Whether to discard local changes
Whether to delete repo on update
Whether to track submodules
Whether to update before job launch
Update cache timeout
Whether job templates can override branch
Update timeout
Latest SCM revision (read-only)
Last update timestamp
Whether last update failed
Project status:
new, pending, waiting, running, successful, failed, error, canceled, never updated, ok, missingOrganization ID
Links to related resources:
organization- Parent organizationcredential- SCM credentialdefault_environment- Default execution environmentplaybooks- Available playbooksinventories- SCM-based inventoriesscm_inventory_sources- Inventory sources using this projectteams- Teams with accessproject_updates- Update historyupdate- Trigger update endpointschedules- Update schedulesactivity_stream- Activity lognotification_templates_*- Notification templatesaccess_list- Access listobject_roles- Available rolescopy- Copy endpoint
Update Project
Delete Project
Trigger Project Update
Manually sync the project from SCM:Copy Project
List Playbooks
Get available playbooks in the project:List Project Inventories
Get SCM-based inventories:Project Updates
List Project Updates
Get Latest Update
Project Schedules
Project Teams
Notification Templates
Started Notifications
Success Notifications
Error Notifications
Object Roles
- admin_role - Full project administration
- use_role - Use project in job templates
- update_role - Trigger project updates
- read_role - View project details
Activity Stream
Access List
SCM Types
Git
Subversion
Archive
Manual
Filtering
Ordering
Complete Example
Best Practices
Use SCM Update on Launch
Use SCM Update on Launch
Enable
scm_update_on_launch to ensure playbooks are up-to-date before job runs.Set Update Cache Timeout
Set Update Cache Timeout
Use
scm_update_cache_timeout to avoid excessive SCM updates:Use Branch Override
Use Branch Override
Enable
allow_override to let job templates specify different branches.Secure Credentials
Secure Credentials
Use SCM credentials for private repositories:
Monitor Update Jobs
Monitor Update Jobs
Always monitor project_update jobs to catch sync failures early.