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.