Red Hat Ansible Automation Platform Roles API

The roles API from Red Hat Ansible Automation Platform — 6 operation(s) for roles.

Business capability
Identity & Access Management BC-620.20

Operations 12

GET /api/v2/roles/ Roles list #
GET /api/v2/roles/{id}/ Roles retrieve #
GET /api/v2/roles/{id}/teams/ Roles teams list #
POST /api/v2/roles/{id}/teams/ Roles teams create #
GET /api/v2/roles/{id}/users/ Roles users list #
POST /api/v2/roles/{id}/users/ Roles users create #
GET /api/automation-hub/pulp/api/v3/roles/ List roles #
POST /api/automation-hub/pulp/api/v3/roles/ Create a role #
GET /api/automation-hub/pulp/api/v3/roles/{pulp_id}/ Inspect a role #
PUT /api/automation-hub/pulp/api/v3/roles/{pulp_id}/ Update a role #
PATCH /api/automation-hub/pulp/api/v3/roles/{pulp_id}/ Update a role #
DELETE /api/automation-hub/pulp/api/v3/roles/{pulp_id}/ Delete a role #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/red-hat-ansible-automation-platform-roles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

red-hat-ansible-automation-platform-roles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Red Hat Ansible Automation Platform Roles API
  x-refined-note:
  - x-logo differs across the merged source definitions and was not carried
  - x-pulp-app-versions differs across the merged source definitions and was not carried
  - x-pulp-domain-enabled differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged roles across 2 of this provider''s published API definitions: red-hat-ansible-automation-platform-automation-controller-openapi.json, red-hat-ansible-automation-platform-automation-hub-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: http://automation-hub-backend-cwa.automation-hub-prod.svc.cluster.local:8000/
tags:
- name: Roles
paths:
  /api/v2/roles/:
    get:
      operationId: roles_list
      parameters:
      - in: query
        name: order
        schema:
          type: string
        description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields.
      - in: query
        name: order_by
        schema:
          type: string
        description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields.
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: role_level
        schema:
          type: string
        description: Filter by role level for RBAC
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: type
        schema:
          type: string
        description: Filter by object type. Supports comma-separated values for multiple types.
      tags:
      - Roles
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRoleList'
          description: ''
      x-ai-description: List roles
      summary: Roles list
      x-summary-source: derived
  /api/v2/roles/{id}/:
    get:
      operationId: roles_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - Roles
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: ''
      x-ai-description: Retrieve a role
      summary: Roles retrieve
      x-summary-source: derived
  /api/v2/roles/{id}/teams/:
    get:
      operationId: roles_teams_list
      description: Derived version of SubListCreateAttachDetachAPIView that prohibits creation
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      - in: query
        name: order
        schema:
          type: string
        description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields.
      - in: query
        name: order_by
        schema:
          type: string
        description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields.
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: role_level
        schema:
          type: string
        description: Filter by role level for RBAC
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: type
        schema:
          type: string
        description: Filter by object type. Supports comma-separated values for multiple types.
      tags:
      - Roles
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTeamList'
          description: ''
      x-ai-description: List teams with a role
      summary: Roles teams list
      x-summary-source: derived
    post:
      operationId: roles_teams_create
      description: Derived version of SubListCreateAttachDetachAPIView that prohibits creation
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - Roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TeamRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
          description: ''
      x-ai-description: Add a team to a role
      summary: Roles teams create
      x-summary-source: derived
  /api/v2/roles/{id}/users/:
    get:
      operationId: roles_users_list
      description: Derived version of SubListCreateAttachDetachAPIView that prohibits creation
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      - in: query
        name: order
        schema:
          type: string
        description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields.
      - in: query
        name: order_by
        schema:
          type: string
        description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields.
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: role_level
        schema:
          type: string
        description: Filter by role level for RBAC
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: type
        schema:
          type: string
        description: Filter by object type. Supports comma-separated values for multiple types.
      tags:
      - Roles
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserList'
          description: ''
      x-ai-description: List users with a role
      summary: Roles users list
      x-summary-source: derived
    post:
      operationId: roles_users_create
      description: Derived version of SubListCreateAttachDetachAPIView that prohibits creation
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - Roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
      x-ai-description: Add a user to a role
      summary: Roles users create
      x-summary-source: derived
  /api/automation-hub/pulp/api/v3/roles/:
    get:
      operationId: getApiAutomationHubPulpApiV3Roles
      description: ViewSet for Role.
      summary: List roles
      parameters:
      - in: query
        name: contains_permission
        schema:
          type: array
          items:
            type: string
        description: Filter roles that have any of the permissions in the list.
        explode: true
        style: form
      - in: query
        name: description
        schema:
          type: string
        description: Filter results where description matches value
      - in: query
        name: description__contains
        schema:
          type: string
        description: Filter results where description contains value
      - in: query
        name: description__icontains
        schema:
          type: string
        description: Filter results where description contains value
      - in: query
        name: description__iexact
        schema:
          type: string
        description: Filter results where description matches value
      - in: query
        name: for_object_type
        schema:
          type: string
        description: Filter roles that only have permissions for the specified object HREF.
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: locked
        schema:
          type: boolean
        description: Filter results where locked matches value
      - in: query
        name: name
        schema:
          type: string
        description: Filter results where name matches value
      - in: query
        name: name__contains
        schema:
          type: string
        description: Filter results where name contains value
      - in: query
        name: name__icontains
        schema:
          type: string
        description: Filter results where name contains value
      - in: query
        name: name__iexact
        schema:
          type: string
        description: Filter results where name matches value
      - in: query
        name: name__in
        schema:
          type: array
          items:
            type: string
        description: Filter results where name is in a comma-separated list of values
        explode: false
        style: form
      - in: query
        name: name__iregex
        schema:
          type: string
        description: Filter results where name matches regex value
      - in: query
        name: name__istartswith
        schema:
          type: string
        description: Filter results where name starts with value
      - in: query
        name: name__regex
        schema:
          type: string
        description: Filter results where name matches regex value
      - in: query
        name: name__startswith
        schema:
          type: string
        description: Filter results where name starts with value
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: ordering
        schema:
          type: array
          items:
            type: string
            enum:
            - -description
            - -locked
            - -name
            - -pk
            - -pulp_created
            - -pulp_id
            - -pulp_last_updated
            - description
            - locked
            - name
            - pk
            - pulp_created
            - pulp_id
            - pulp_last_updated
        description: 'Ordering


          * `pulp_id` - Pulp id

          * `-pulp_id` - Pulp id (descending)

          * `pulp_created` - Pulp created

          * `-pulp_created` - Pulp created (descending)

          * `pulp_last_updated` - Pulp last updated

          * `-pulp_last_updated` - Pulp last updated (descending)

          * `name` - Name

          * `-name` - Name (descending)

          * `description` - Description

          * `-description` - Description (descending)

          * `locked` - Locked

          * `-locked` - Locked (descending)

          * `pk` - Pk

          * `-pk` - Pk (descending)'
        explode: false
        style: form
      - in: query
        name: pulp_href__in
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: pulp_id__in
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: q
        schema:
          type: string
      - in: query
        name: fields
        schema:
          type: array
          items:
            type: string
        description: A list of fields to include in the response.
      - in: query
        name: exclude_fields
        schema:
          type: array
          items:
            type: string
        description: A list of fields to exclude from the response.
      tags:
      - Roles
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRoleResponseList'
          description: ''
      x-operation-id-source: normalized
      x-operation-id-original: roles_list
    post:
      operationId: roles_create
      description: ViewSet for Role.
      summary: Create a role
      tags:
      - Roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Role_2'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Role_2'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Role_2'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
          description: ''
    servers:
    - url: http://automation-hub-backend-cwa.automation-hub-prod.svc.cluster.local:8000/
  /api/automation-hub/pulp/api/v3/roles/{pulp_id}/:
    get:
      operationId: roles_read
      description: ViewSet for Role.
      summary: Inspect a role
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this role.
        required: true
      - in: query
        name: fields
        schema:
          type: array
          items:
            type: string
        description: A list of fields to include in the response.
      - in: query
        name: exclude_fields
        schema:
          type: array
          items:
            type: string
        description: A list of fields to exclude from the response.
      tags:
      - Roles
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
          description: ''
    put:
      operationId: roles_update
      description: ViewSet for Role.
      summary: Update a role
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this role.
        required: true
      tags:
      - Roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Role_2'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Role_2'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Role_2'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
          description: ''
    patch:
      operationId: roles_partial_update
      description: ViewSet for Role.
      summary: Update a role
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this role.
        required: true
      tags:
      - Roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedRole'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleResponse'
          description: ''
    delete:
      operationId: roles_delete
      description: ViewSet for Role.
      summary: Delete a role
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this role.
        required: true
      tags:
      - Roles
      responses:
        '204':
          description: No response body
    servers:
    - url: http://automation-hub-backend-cwa.automation-hub-prod.svc.cluster.local:8000/
components:
  schemas:
    PaginatedUserList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/User'
    Role:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        type:
          type: string
          readOnly: true
        url:
          type: string
          readOnly: true
        related:
          type: string
          readOnly: true
        summary_fields:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
    Team:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        type:
          type: string
          readOnly: true
        url:
          type: string
          readOnly: true
        related:
          type: string
          readOnly: true
        summary_fields:
          type: string
          readOnly: true
        created:
          type: string
          readOnly: true
        modified:
          type: string
          readOnly: true
        name:
          type:
          - string
          - 'null'
          maxLength: 512
        description:
          type:
          - string
          - 'null'
          default: ''
        organization:
          type: integer
      required:
      - name
      - organization
    PaginatedRoleList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/Role'
    UserRequest:
      type: object
      properties:
        username:
          type:
          - string
          - 'null'
          minLength: 1
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
          pattern: ^[\w.@+-]+$
          maxLength: 150
        first_name:
          type:
          - string
          - 'null'
          maxLength: 150
        last_name:
          type:
          - string
          - 'null'
          maxLength: 150
        email:
          type:
          - string
          - 'null'
          title: Email address
          maxLength: 254
        is_superuser:
          type:
          - boolean
          - 'null'
          default: false
          title: Superuser status
          description: Designates that this user has all permissions without explicitly assigning them.
        is_system_auditor:
          type: boolean
          default: false
        password:
          type: string
          default: ''
          description: Field used to change the password.
      required:
      - username
    User:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        type:
          type: string
          readOnly: true
        url:
          type: string
          readOnly: true
        related:
          type: string
          readOnly: true
        summary_fields:
          type: string
          readOnly: true
        created:
          type: string
          readOnly: true
        modified:
          type: string
          readOnly: true
        username:
          type:
          - string
          - 'null'
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
          pattern: ^[\w.@+-]+$
          maxLength: 150
        first_name:
          type:
          - string
          - 'null'
          maxLength: 150
        last_name:
          type:
          - string
          - 'null'
          maxLength: 150
        email:
          type:
          - string
          - 'null'
          title: Email address
          maxLength: 254
        is_superuser:
          type:
          - boolean
          - 'null'
          default: false
          title: Superuser status
          description: Designates that this user has all permissions without explicitly assigning them.
        is_system_auditor:
          type: boolean
          default: false
        password:
          type: string
          default: ''
          description: Field used to change the password.
        last_login:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
      required:
      - username
    TeamRequest:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
          minLength: 1
          maxLength: 512
        description:
          type:
          - string
          - 'null'
          default: ''
        organization:
          type: integer
      required:
      - name
      - organization
    PaginatedTeamList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/Team'
    RoleResponse:
      type: object
      description: Serializer for Role.
      properties:
        pulp_href:
          type: string
          format: uri
          readOnly: true
        pulp_created:
          type: string
          format: date-time
          readOnly: true
          description: Timestamp of creation.
        pulp_last_updated:
          type: string
          format: date-time
          readOnly: true
          description: 'Timestamp of the last time this resource was updated. Note: for immutable resources - like content, repository versions, and publication - pulp_created and pulp_last_updated dates will be the same.'
        name:
          type: string
          description: The name of this role.
        description:
          type:
          - string
          - 'null'
          description: An optional description.
        permissions:
          type: array
          items:
            type: string
          description: List of permissions defining the role.
        locked:
          type: boolean
          readOnly: true
          description: True if the role is system managed.
      required:
      - name
      - permissions
    Role_2:
      type: object
      description: Serializer for Role.
      properties:
        name:
          type: string
          minLength: 1
          description: The name of this role.
        description:
          type:
          - string
          - 'null'
          minLength: 1
          description: An optional description.
        permissions:
          type: array
          items:
            type: string
          description: List of permissions defining the role.
      required:
      - name
      - permissions
    PaginatedRoleResponseList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/RoleResponse'
    PatchedRole:
      type: object
      description: Serializer for Role.
      properties:
        name:
          type: string
          minLength: 1
          description: The name of this role.
        description:
          type:
          - string
          - 'null'
          minLength: 1
          description: An optional description.
        permissions:
          type: array
          items:
            type: string
          description: List of permissions defining the role.
x-refined-from:
- red-hat-ansible-automation-platform-automation-controller-openapi.json
- red-hat-ansible-automation-platform-automation-hub-openapi.json