Azure DevOps Feeds API

Operations for managing artifact feeds

Documentation

Specifications

Other Resources

OpenAPI Specification

microsoft-azure-devops-feeds-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure DevOps Artifacts Attachments Feeds API
  description: 'REST API for managing packages, feeds, and artifact dependencies in Azure Artifacts. Supports NuGet, npm, Maven, Python, and Universal package formats in private or public feeds. Enables programmatic management of package feeds, discovery of packages and their versions, and lifecycle operations such as deprecating or deleting package versions.

    '
  version: '7.1'
  contact:
    name: Microsoft Azure DevOps
    url: https://learn.microsoft.com/en-us/rest/api/azure/devops/artifacts/
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
- url: https://feeds.dev.azure.com/{organization}/{project}/_apis
  description: Azure DevOps Artifacts API (project-scoped)
  variables:
    organization:
      description: Azure DevOps organization name or ID
      default: myorganization
    project:
      description: Azure DevOps project name or ID
      default: myproject
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Feeds
  description: Operations for managing artifact feeds
paths:
  /packaging/feeds:
    get:
      operationId: feeds_list
      summary: Azure DevOps List feeds
      description: 'Returns a list of package feeds accessible within the organization or project. Feeds are the primary containers for packages in Azure Artifacts. A project can have multiple feeds with different visibility and upstream source settings.

        '
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      - name: feedRole
        in: query
        required: false
        description: Filter feeds by the current user's role
        schema:
          type: string
          enum:
          - none
          - reader
          - contributor
          - administrator
      - name: includeDeletedUpstreams
        in: query
        required: false
        description: Whether to include feeds with deleted upstream sources
        schema:
          type: boolean
      - name: includeUrls
        in: query
        required: false
        description: Whether to include package manager endpoint URLs
        schema:
          type: boolean
      responses:
        '200':
          description: List of feeds returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: Number of feeds returned
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Feed'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: feeds_create
      summary: Azure DevOps Create a feed
      description: 'Creates a new artifact feed. You can configure whether the feed allows upstream sources (for fetching public packages), its visibility (project-wide or organization-wide), and whether the feed is public or requires authentication.

        '
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        description: Feed creation parameters
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedCreateRequest'
            example:
              name: my-packages
              description: Internal NuGet packages feed
              upstreamEnabled: true
              upstreamSources:
              - id: nuget-gallery
                name: NuGet Gallery
                upstreamSourceType: public
                protocol: nuget
                location: https://api.nuget.org/v3/index.json
              hideDeletedPackageVersions: true
      responses:
        '200':
          description: Feed created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feed'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /packaging/feeds/{feedId}:
    get:
      operationId: feeds_get
      summary: Azure DevOps Get a feed
      description: 'Returns detailed information about a specific feed, including its configuration, upstream sources, and visibility settings. The feedId can be either the feed GUID or its name.

        '
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/FeedId'
      - name: includeDeletedUpstreams
        in: query
        required: false
        description: Whether to include deleted upstream sources in the response
        schema:
          type: boolean
      responses:
        '200':
          description: Feed returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feed'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: feeds_update
      summary: Azure DevOps Update a feed
      description: 'Updates properties of a feed such as its name, description, upstream sources, and retention policy. Only fields provided in the request body will be changed.

        '
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/FeedId'
      requestBody:
        required: true
        description: Feed properties to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedUpdateRequest'
      responses:
        '200':
          description: Feed updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feed'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: feeds_delete
      summary: Azure DevOps Delete a feed
      description: 'Permanently deletes a feed and all packages it contains. This operation cannot be undone. All packages will be permanently removed from the feed. Consumers of packages from this feed will lose access immediately.

        '
      tags:
      - Feeds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/FeedId'
      responses:
        '204':
          description: Feed deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    Forbidden:
      description: Forbidden - insufficient permissions to perform this operation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Unauthorized:
      description: Unauthorized - missing or invalid authentication credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    BadRequest:
      description: Bad request - invalid parameters or request body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: Not found - the requested resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  parameters:
    ApiVersion:
      name: api-version
      in: query
      required: true
      description: Azure DevOps REST API version. Use 7.1 for the latest stable version.
      schema:
        type: string
        default: '7.1'
        enum:
        - '7.1'
        - '7.0'
        - '6.0'
    FeedId:
      name: feedId
      in: path
      required: true
      description: Feed GUID or feed name
      schema:
        type: string
  schemas:
    FeedView:
      type: object
      description: A view of a feed (e.g., @local, @prerelease, @release)
      properties:
        id:
          type: string
          format: uuid
          description: View ID
        name:
          type: string
          description: View name (e.g., '@local', '@release')
          example: '@release'
        type:
          type: string
          description: View type
          enum:
          - none
          - release
          - implicit
        url:
          type: string
          format: uri
        _links:
          type: object
          additionalProperties:
            type: object
            properties:
              href:
                type: string
                format: uri
    UpstreamSource:
      type: object
      description: An upstream package source configured for a feed
      properties:
        id:
          type: string
          description: Upstream source identifier
        name:
          type: string
          description: Display name of the upstream source
          example: NuGet Gallery
        upstreamSourceType:
          type: string
          description: Type of upstream source
          enum:
          - public
          - internal
        protocol:
          type: string
          description: Package protocol type
          enum:
          - nuget
          - npm
          - maven
          - pypi
          - upack
          - cargo
          - swift
        location:
          type: string
          format: uri
          description: URL of the upstream package registry
          example: https://api.nuget.org/v3/index.json
        status:
          type: string
          description: Current status of the upstream source
          enum:
          - ok
          - disabled
        deletedDate:
          type: string
          format: date-time
          nullable: true
    Feed:
      type: object
      description: An Azure Artifacts package feed
      properties:
        id:
          type: string
          format: uuid
          description: Unique GUID identifier of the feed
        name:
          type: string
          description: Display name of the feed
          example: my-packages
        description:
          type: string
          description: Description of the feed and its contents
        url:
          type: string
          format: uri
          description: URL to access this feed via the REST API
        upstreamEnabled:
          type: boolean
          description: Whether upstream sources are enabled for this feed
        upstreamSources:
          type: array
          description: Upstream package sources configured for this feed
          items:
            $ref: '#/components/schemas/UpstreamSource'
        hideDeletedPackageVersions:
          type: boolean
          description: Whether to hide deleted package versions from package listings
        defaultViewId:
          type: string
          format: uuid
          description: ID of the default view for this feed
        views:
          type: array
          description: Views defined for this feed (e.g., @local, @prerelease, @release)
          items:
            $ref: '#/components/schemas/FeedView'
        isReadOnly:
          type: boolean
          description: Whether the feed is read-only
        deletedDate:
          type: string
          format: date-time
          nullable: true
          description: Date the feed was deleted (null if active)
        project:
          type: object
          description: Project this feed belongs to
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
        _links:
          type: object
          additionalProperties:
            type: object
            properties:
              href:
                type: string
                format: uri
    FeedUpdateRequest:
      type: object
      description: Parameters for updating a feed
      properties:
        name:
          type: string
          description: New name for the feed
        description:
          type: string
          description: Updated description
        upstreamEnabled:
          type: boolean
          description: Whether to enable/disable upstream sources
        upstreamSources:
          type: array
          description: Updated list of upstream sources
          items:
            $ref: '#/components/schemas/UpstreamSource'
        hideDeletedPackageVersions:
          type: boolean
          description: Whether to hide deleted versions
        badgesEnabled:
          type: boolean
          description: Whether to enable package badges
    FeedCreateRequest:
      type: object
      description: Parameters for creating a new feed
      required:
      - name
      properties:
        name:
          type: string
          description: Name for the new feed
          example: my-packages
        description:
          type: string
          description: Description of the feed
        upstreamEnabled:
          type: boolean
          description: Whether to enable upstream sources
          default: true
        upstreamSources:
          type: array
          description: Upstream package sources to configure
          items:
            $ref: '#/components/schemas/UpstreamSource'
        hideDeletedPackageVersions:
          type: boolean
          description: Whether to hide deleted package versions
          default: true
        badgesEnabled:
          type: boolean
          description: Whether to enable package badges
          default: false
    ApiError:
      type: object
      description: Error response from the Azure DevOps API
      properties:
        id:
          type: string
          format: uuid
        message:
          type: string
        typeName:
          type: string
        typeKey:
          type: string
        errorCode:
          type: integer
        eventId:
          type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Azure AD OAuth 2.0 bearer token
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication using a Personal Access Token (PAT). Use any string as the username and the PAT as the password, then base64-encode the result.