Internet Explorer is no longer supported. Many things will still work, but your experience will be degraded and some things won't function. Please use a modern browser such as Edge, Chrome, or Firefox.

Connectors Management API

view on GitHub

The Connectors Management API provides several pgutil commands (available as pgutil connectors) and HTTP endpoints to query, create, and update connectors, and related data:

pgutil Commands

All HTTP endpoints of the Connectors Management API are available as pgutil commands.

To find the list of commands available in pgutil, simply run pgutil connectors. See Getting started with pgutil to learn more.

Available HTTP Endpoints

Authenticating to Connectors Management API

The following is a summary of access types and their corresponding requirements for various API keys types and endpoints within this API.

Access Type Requirements
System API Keys Use/Manage Feeds
Feed API Keys View/Download is required for all endpoints
Add/Repackage is required for Create Connector
Overwrite/Delete is required for Delete Connector
Personal API Key Feeds_ViewFeed is required for all endpoints
Feeds_AddPackage is required for the Create Connector
Feeds_DeletePackage is required for Delete Connector
No API Key anonymous or authenticated user must have at least Feeds_ViewFeed

To specify an API Key, use the request header (X-ApiKey), querystring (key), or api:«api-key» as the username. See API Key Usage to learn more.

Data Specifications

ProgetConnector Object Attributes

ProgetConnector is a JSON object (see ProgetConnector.cs) that corresponds to the fields on a connector. It's used as input for Create Connector and Update Connector, and output for Get Connector and List Connectors.

name and feedType properties are required for Create Connector. Unless otherwise indicated, omitting a property or supplying null as the value will keep the current setting.

Example JSON Object:

{
  "name": "example-connector",
  "feedType": "nuget",
  "url": "http://proget.connector.local",
  "username": "jsmith",
  "password": "pass123",
  "timeout": 60,
  "filters": ["filter1", "filter2"],
  "metadataCacheEnabled": true,
  "metadataCacheMinutes": 30,
  "metadataCacheCount": 100
}

Notes about Data

Wildcards and Negations

Certain fields noted above support wildcard and negation syntax. For example, the value ["Microsoft.*", "Castle.*", "!Rubbishsoft.*"] has the following properties:

  • includes any packages that start with Microsoft. or Castle.*
  • excludes any packages that start with Rubbishsoft.