Ansible Roles Roles API

Legacy v1 community roles API.

OpenAPI Specification

ansible-roles-roles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Ansible Galaxy & Collections Ansible Galaxy & Collections API Roles API
  version: '1'
  description: 'The Ansible Galaxy public REST API for discovering and consuming community

    Ansible content. The legacy v1 surface covers community roles (search by

    keyword, author, tag; download by version), users, namespaces, and import

    tracking. The modern v3 surface is the Galaxy NG / Pulp API used by

    Ansible collections (the modern packaging format that bundles roles,

    modules, plugins, and playbooks).

    '
  contact:
    name: Ansible Galaxy
    url: https://galaxy.ansible.com
servers:
- url: https://galaxy.ansible.com
  description: Public Ansible Galaxy
security: []
tags:
- name: Roles
  description: Legacy v1 community roles API.
paths:
  /api/v1/roles/:
    get:
      tags:
      - Roles
      summary: Search community roles
      operationId: listRoles
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: page_size
        in: query
        schema:
          type: integer
          default: 10
      - name: owner__username
        in: query
        description: Filter by GitHub username of the role owner.
        schema:
          type: string
      - name: name
        in: query
        description: Filter by role name (substring match).
        schema:
          type: string
      - name: keyword
        in: query
        description: Free-text keyword search.
        schema:
          type: string
      - name: tag
        in: query
        description: Filter by tag (galaxy_tags).
        schema:
          type: string
      - name: platforms
        in: query
        description: Filter by supported platform name.
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/PagedList'
  /api/v1/roles/{id}/:
    get:
      tags:
      - Roles
      summary: Retrieve a role
      operationId: getRole
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '200':
          description: A role.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
  /api/v1/roles/{id}/versions/:
    get:
      tags:
      - Roles
      summary: List role versions
      operationId: listRoleVersions
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '200':
          $ref: '#/components/responses/PagedList'
  /api/v1/roles/{id}/downloads/:
    post:
      tags:
      - Roles
      summary: Increment a role download counter
      operationId: addRoleDownload
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '202':
          description: Download tracked.
components:
  schemas:
    PagedList:
      type: object
      properties:
        count:
          type: integer
        next:
          type: string
          nullable: true
        next_link:
          type: string
          nullable: true
        previous:
          type: string
          nullable: true
        previous_link:
          type: string
          nullable: true
        results:
          type: array
          items:
            type: object
            additionalProperties: true
    Role:
      type: object
      properties:
        id:
          type: integer
        url:
          type: string
        name:
          type: string
        namespace:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
        github_user:
          type: string
        github_repo:
          type: string
        github_branch:
          type: string
        description:
          type: string
        min_ansible_version:
          type: string
        license:
          type: string
        company:
          type: string
        download_count:
          type: integer
        stargazers_count:
          type: integer
        forks_count:
          type: integer
        summary_fields:
          type: object
          additionalProperties: true
  parameters:
    Id:
      name: id
      in: path
      required: true
      schema:
        type: integer
  responses:
    PagedList:
      description: A paginated list response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PagedList'
  securitySchemes:
    TokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Galaxy / Automation Hub token, sent as `Authorization: Token <value>`.'