Ansible Projects API

The Projects API from Ansible — 3 operation(s) for projects.

OpenAPI Specification

ansible-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Ansible Automation Controller Auth Projects API
  version: '2'
  description: 'REST API for Ansible Automation Controller (formerly Ansible Tower / AWX),

    the enterprise-grade automation engine inside the Red Hat Ansible Automation

    Platform. The API exposes management of inventories, hosts, credentials,

    projects, job templates, workflow job templates, schedules, organizations,

    teams, users, and the launching and inspection of jobs.

    '
  contact:
    name: Red Hat Ansible Support
    url: https://access.redhat.com/products/red-hat-ansible-automation-platform/
servers:
- url: https://{controller_host}/api/v2
  description: Self-hosted Ansible Automation Controller deployment
  variables:
    controller_host:
      default: controller.example.com
      description: Hostname of the Automation Controller instance.
security:
- OAuth2Token: []
- BasicAuth: []
tags:
- name: Projects
paths:
  /projects/:
    get:
      tags:
      - Projects
      summary: List projects
      operationId: listProjects
      responses:
        '200':
          $ref: '#/components/responses/ListResponse'
    post:
      tags:
      - Projects
      summary: Create a project
      operationId: createProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Project'
      responses:
        '201':
          description: Created.
  /projects/{id}/:
    get:
      tags:
      - Projects
      summary: Retrieve a project
      operationId: getProject
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '200':
          description: A project.
  /projects/{id}/update/:
    post:
      tags:
      - Projects
      summary: Trigger an SCM project update
      operationId: updateProject
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '202':
          description: Update started.
components:
  schemas:
    ListResponse:
      type: object
      properties:
        count:
          type: integer
        next:
          type: string
          nullable: true
        previous:
          type: string
          nullable: true
        results:
          type: array
          items:
            type: object
            additionalProperties: true
    Project:
      type: object
      required:
      - name
      - scm_type
      properties:
        name:
          type: string
        description:
          type: string
        organization:
          type: integer
        scm_type:
          type: string
          enum:
          - git
          - hg
          - svn
          - archive
          - insights
          - ''
        scm_url:
          type: string
        scm_branch:
          type: string
        scm_credential:
          type: integer
        scm_update_on_launch:
          type: boolean
  responses:
    ListResponse:
      description: A paginated list response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ListResponse'
  parameters:
    Id:
      name: id
      in: path
      required: true
      schema:
        type: integer
  securitySchemes:
    OAuth2Token:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Personal or application OAuth2 access token.
    BasicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using local controller credentials.