Red Hat Ansible Automation Platform Distributions: Pull-Through API

The Distributions: Pull-Through API from Red Hat Ansible Automation Platform — 8 operation(s) for distributions: pull-through.

Operations 12

GET /api/automation-hub/pulp/api/v3/distributions/container/pull-through/ List container pull through distributions #
POST /api/automation-hub/pulp/api/v3/distributions/container/pull-through/ Create a container pull through distribution #
GET /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/ Inspect a container pull through distribution #
PUT /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/ Update a container pull through distribution #
PATCH /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/ Update a container pull through distribution #
DELETE /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/ Delete a container pull through distribution #
POST /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/add_role/ Add a role #
GET /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/list_roles/ List roles #
GET /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/my_permissions/ List user permissions #
POST /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/remove_role/ Remove a role #
POST /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/set_label/ Set a label #
POST /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/unset_label/ Unset a label #

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-distributions-pull-through-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-distributions-pull-through-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'Automation Hub Distributions: Pull-Through API'
  version: v3
  description: Fetch, Upload, Organize, and Distribute Ansible Collections
  contact:
    name: Automation Hub Team
    email: ansible-galaxy-team@redhat.com
    url: https://www.ansible.com/products/automation-hub
  license:
    name: GPLv2+
    url: https://raw.githubusercontent.com/ansible/galaxy_ng/main/LICENSE
  x-logo:
    url: https://pulp.plan.io/attachments/download/517478/pulp_logo_word_rectangle.svg
  x-pulp-app-versions:
    core: 3.49.40
    galaxy: 4.12.0dev
    ansible: 0.25.1
    container: 2.19.5
    certguard: 3.49.40
    file: 3.49.40
  x-pulp-domain-enabled: false
servers:
- url: http://automation-hub-backend-cwa.automation-hub-prod.svc.cluster.local:8000/
tags:
- name: 'Distributions: Pull-Through'
paths:
  /api/automation-hub/pulp/api/v3/distributions/container/pull-through/:
    get:
      operationId: distributions_container_pull_through_list
      description: A special pull-through Container Distribution that will reference distributions serving content.
      summary: List container pull through distributions
      parameters:
      - in: query
        name: base_path
        schema:
          type: string
        description: Filter results where base_path matches value
      - in: query
        name: base_path__contains
        schema:
          type: string
        description: Filter results where base_path contains value
      - in: query
        name: base_path__icontains
        schema:
          type: string
        description: Filter results where base_path contains value
      - in: query
        name: base_path__in
        schema:
          type: array
          items:
            type: string
        description: Filter results where base_path is in a comma-separated list of values
        explode: false
        style: form
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - 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:
            - -base_path
            - -hidden
            - -name
            - -pk
            - -pulp_created
            - -pulp_id
            - -pulp_labels
            - -pulp_last_updated
            - -pulp_type
            - base_path
            - hidden
            - name
            - pk
            - pulp_created
            - pulp_id
            - pulp_labels
            - pulp_last_updated
            - pulp_type
        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)

          * `pulp_type` - Pulp type

          * `-pulp_type` - Pulp type (descending)

          * `name` - Name

          * `-name` - Name (descending)

          * `pulp_labels` - Pulp labels

          * `-pulp_labels` - Pulp labels (descending)

          * `base_path` - Base path

          * `-base_path` - Base path (descending)

          * `hidden` - Hidden

          * `-hidden` - Hidden (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: pulp_label_select
        schema:
          type: string
        description: Filter labels by search string
      - in: query
        name: q
        schema:
          type: string
      - in: query
        name: repository
        schema:
          type: string
          format: uuid
        description: Filter results where repository matches value
      - in: query
        name: repository__in
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Filter results where repository is in a comma-separated list of values
        explode: false
        style: form
      - in: query
        name: with_content
        schema:
          type: string
        description: Filter distributions based on the content served by them
      - 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:
      - 'Distributions: Pull-Through'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Paginatedcontainer.ContainerPullThroughDistributionResponseList'
          description: ''
    post:
      operationId: distributions_container_pull_through_create
      description: Trigger an asynchronous create task
      summary: Create a container pull through distribution
      tags:
      - 'Distributions: Pull-Through'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/container.ContainerPullThroughDistribution'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/container.ContainerPullThroughDistribution'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/container.ContainerPullThroughDistribution'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResponse'
          description: ''
  /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/:
    get:
      operationId: distributions_container_pull_through_read
      description: A special pull-through Container Distribution that will reference distributions serving content.
      summary: Inspect a container pull through distribution
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        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:
      - 'Distributions: Pull-Through'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/container.ContainerPullThroughDistributionResponse'
          description: ''
    put:
      operationId: distributions_container_pull_through_update
      description: Trigger an asynchronous update task
      summary: Update a container pull through distribution
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        required: true
      tags:
      - 'Distributions: Pull-Through'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/container.ContainerPullThroughDistribution'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/container.ContainerPullThroughDistribution'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/container.ContainerPullThroughDistribution'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResponse'
          description: ''
    patch:
      operationId: distributions_container_pull_through_partial_update
      description: Trigger an asynchronous partial update task
      summary: Update a container pull through distribution
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        required: true
      tags:
      - 'Distributions: Pull-Through'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Patchedcontainer.ContainerPullThroughDistribution'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Patchedcontainer.ContainerPullThroughDistribution'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Patchedcontainer.ContainerPullThroughDistribution'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResponse'
          description: ''
    delete:
      operationId: distributions_container_pull_through_delete
      description: Trigger an asynchronous delete task
      summary: Delete a container pull through distribution
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        required: true
      tags:
      - 'Distributions: Pull-Through'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResponse'
          description: ''
  /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/add_role/:
    post:
      operationId: distributions_container_pull_through_add_role
      description: Add a role for this object to users/groups.
      summary: Add a role
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        required: true
      tags:
      - 'Distributions: Pull-Through'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NestedRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NestedRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/NestedRole'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NestedRoleResponse'
          description: ''
  /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/list_roles/:
    get:
      operationId: distributions_container_pull_through_list_roles
      description: List roles assigned to this object.
      summary: List roles
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        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:
      - 'Distributions: Pull-Through'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectRolesResponse'
          description: ''
  /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/my_permissions/:
    get:
      operationId: distributions_container_pull_through_my_permissions
      description: List permissions available to the current user on this object.
      summary: List user permissions
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        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:
      - 'Distributions: Pull-Through'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MyPermissionsResponse'
          description: ''
  /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/remove_role/:
    post:
      operationId: distributions_container_pull_through_remove_role
      description: Remove a role for this object from users/groups.
      summary: Remove a role
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        required: true
      tags:
      - 'Distributions: Pull-Through'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NestedRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NestedRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/NestedRole'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NestedRoleResponse'
          description: ''
  /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/set_label/:
    post:
      operationId: distributions_container_pull_through_set_label
      description: Set a single pulp_label on the object to a specific value or null.
      summary: Set a label
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        required: true
      tags:
      - 'Distributions: Pull-Through'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SetLabel'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetLabelResponse'
          description: ''
  /api/automation-hub/pulp/api/v3/distributions/container/pull-through/{pulp_id}/unset_label/:
    post:
      operationId: distributions_container_pull_through_unset_label
      description: Unset a single pulp_label on the object.
      summary: Unset a label
      parameters:
      - in: path
        name: pulp_id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this container pull through distribution.
        required: true
      tags:
      - 'Distributions: Pull-Through'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnsetLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UnsetLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UnsetLabel'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnsetLabelResponse'
          description: ''
components:
  schemas:
    ObjectRolesResponse:
      type: object
      properties:
        roles:
          type: array
          items:
            $ref: '#/components/schemas/NestedRoleResponse'
      required:
      - roles
    Paginatedcontainer.ContainerPullThroughDistributionResponseList:
      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/container.ContainerPullThroughDistributionResponse'
    SetLabel:
      type: object
      description: Serializer for synchronously setting a label.
      properties:
        key:
          type: string
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
        value:
          type:
          - string
          - 'null'
      required:
      - key
      - value
    MyPermissionsResponse:
      type: object
      properties:
        permissions:
          type: array
          items:
            type: string
      required:
      - permissions
    NestedRole:
      type: object
      description: 'Serializer to add/remove object roles to/from users/groups.


        This is used in conjunction with ``pulpcore.app.viewsets.base.RolesMixin`` and requires the

        underlying object to be passed as ``content_object`` in the context.'
      properties:
        users:
          type: array
          items:
            type: string
            minLength: 1
            description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
          default: []
        groups:
          type: array
          items:
            type: string
            minLength: 1
          default: []
        role:
          type: string
          minLength: 1
      required:
      - role
    container.ContainerPullThroughDistribution:
      type: object
      description: A serializer for a specialized pull-through distribution referencing sub-distributions.
      properties:
        base_path:
          type: string
          minLength: 1
          description: The base (relative) path component of the published url. Avoid paths that                     overlap with other distribution base paths (e.g. "foo" and "foo/bar")
        repository:
          type:
          - string
          - 'null'
          format: uri
          description: The latest RepositoryVersion for this Repository will be served.
        pulp_labels:
          type: object
          additionalProperties:
            type:
            - string
            - 'null'
        name:
          type: string
          minLength: 1
          description: A unique name. Ex, `rawhide` and `stable`.
        content_guard:
          type: string
          format: uri
          description: An optional content-guard. If none is specified, a default one will be used.
        hidden:
          type: boolean
          default: false
          description: Whether this distribution should be shown in the content app.
        remote:
          type: string
          format: uri
          description: Remote that can be used to fetch content when using pull-through caching.
        distributions:
          type: array
          items:
            type: string
            format: uri
          description: Distributions created after pulling content through cache
        private:
          type: boolean
          description: Restrict pull access to explicitly authorized users. Related distributions inherit this value. Defaults to unrestricted pull access.
        description:
          type:
          - string
          - 'null'
          minLength: 1
          description: An optional description.
      required:
      - base_path
      - name
      - remote
    Patchedcontainer.ContainerPullThroughDistribution:
      type: object
      description: A serializer for a specialized pull-through distribution referencing sub-distributions.
      properties:
        base_path:
          type: string
          minLength: 1
          description: The base (relative) path component of the published url. Avoid paths that                     overlap with other distribution base paths (e.g. "foo" and "foo/bar")
        repository:
          type:
          - string
          - 'null'
          format: uri
          description: The latest RepositoryVersion for this Repository will be served.
        pulp_labels:
          type: object
          additionalProperties:
            type:
            - string
            - 'null'
        name:
          type: string
          minLength: 1
          description: A unique name. Ex, `rawhide` and `stable`.
        content_guard:
          type: string
          format: uri
          description: An optional content-guard. If none is specified, a default one will be used.
        hidden:
          type: boolean
          default: false
          description: Whether this distribution should be shown in the content app.
        remote:
          type: string
          format: uri
          description: Remote that can be used to fetch content when using pull-through caching.
        distributions:
          type: array
          items:
            type: string
            format: uri
          description: Distributions created after pulling content through cache
        private:
          type: boolean
          description: Restrict pull access to explicitly authorized users. Related distributions inherit this value. Defaults to unrestricted pull access.
        description:
          type:
          - string
          - 'null'
          minLength: 1
          description: An optional description.
    UnsetLabel:
      type: object
      description: Serializer for synchronously setting a label.
      properties:
        key:
          type: string
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
      required:
      - key
    NestedRoleResponse:
      type: object
      description: 'Serializer to add/remove object roles to/from users/groups.


        This is used in conjunction with ``pulpcore.app.viewsets.base.RolesMixin`` and requires the

        underlying object to be passed as ``content_object`` in the context.'
      properties:
        users:
          type: array
          items:
            type: string
            description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
          default: []
        groups:
          type: array
          items:
            type: string
          default: []
        role:
          type: string
      required:
      - role
    UnsetLabelResponse:
      type: object
      description: Serializer for synchronously setting a label.
      properties:
        key:
          type: string
          pattern: ^[-a-zA-Z0-9_]+$
        value:
          type: string
          readOnly: true
      required:
      - key
    SetLabelResponse:
      type: object
      description: Serializer for synchronously setting a label.
      properties:
        key:
          type: string
          pattern: ^[-a-zA-Z0-9_]+$
        value:
          type:
          - string
          - 'null'
      required:
      - key
      - value
    AsyncOperationResponse:
      type: object
      description: Serializer for asynchronous operations.
      properties:
        task:
          type: string
          format: uri
          description: The href of the task.
      required:
      - task
    container.ContainerPullThroughDistributionResponse:
      type: object
      description: A serializer for a specialized pull-through distribution referencing sub-distributions.
      properties:
        base_path:
          type: string
          description: The base (relative) path component of the published url. Avoid paths that                     overlap with other distribution base paths (e.g. "foo" and "foo/bar")
        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.'
        repository:
          type:
          - string
          - 'null'
          format: uri
          description: The latest RepositoryVersion for this Repository will be served.
        pulp_labels:
          type: object
          additionalProperties:
            type:
            - string
            - 'null'
        name:
          type: string
          description: A unique name. Ex, `rawhide` and `stable`.
        pulp_href:
          type: string
          format: uri
          readOnly: true
        content_guard:
          type: string
          format: uri
          description: An optional content-guard. If none is specified, a default one will be used.
        hidden:
          type: boolean
          default: false
          description: Whether this distribution should be shown in the content app.
        remote:
          type: string
          format: uri
          description: Remote that can be used to fetch content when using pull-through caching.
        distributions:
          type: array
          items:
            type: string
            format: uri
          description: Distributions created after pulling content through cache
        namespace:
          type: string
          format: uri
          readOnly: true
          description: Namespace this distribution belongs to.
        private:
          type: boolean
          description: Restrict pull access to explicitly authorized users. Related distributions inherit this value. Defaults to unrestricted pull access.
        description:
          type:
          - string
          - 'null'
          description: An optional description.
      required:
      - base_path
      - name
      - remote