For Agents
Provision MyGet feeds and publish, list, or delete NuGet, npm, Maven, and PyPI packages using a NuGet API key or basic auth.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the MyGet API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmyget.org%2Fmyget" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmyget.org%2Fmyget" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with MyGet API.
Create, configure, and delete private MyGet feeds for an organisation
Push, download, and delete NuGet packages by ID and version against a feed
Search packages within a feed using the NuGet V2 OData /Search() operation
GET STARTED
Use for: I need to push a new NuGet package version to our internal feed, Search the MyGet feed for packages matching a query, List all feeds in our MyGet account, Create a new private NuGet feed for the build pipeline
Not supported: Does not handle source control, container image registries, or build orchestration - use for hosted NuGet/npm/Maven/PyPI/VSIX feed management only.
Jentic publishes the only available OpenAPI specification for MyGet API, keeping it validated and agent-ready. MyGet is a hosted package repository service that proxies and republishes NuGet, npm, Maven, PyPI, VSIX, and Symbols feeds for engineering teams that need private or curated package distribution. The API exposes both protocol-level endpoints under /F/{feedName} (NuGet V2 OData and V3 index, npm, Maven, PyPI, VSIX) and a management surface under /api/v1/feeds for creating feeds, listing packages, and configuring privileges. Authentication accepts an X-NuGet-ApiKey header or HTTP basic credentials.
Resolve npm, Maven, PyPI, and VSIX packages through their MyGet protocol endpoints
Mint short-lived feed access tokens via /F/{feedName}/auth/token for downstream tooling
Manage feed privileges to grant read or push access to specific principals
Patterns agents use MyGet API for, with concrete tasks.
★ CI/CD Package Publishing
Publish build artifacts from a CI pipeline to a private MyGet feed using PUT /F/{feedName}/api/v2/package/{packageId}/{version}. The pipeline authenticates with X-NuGet-ApiKey, pushes the .nupkg, and the package is immediately available to downstream consumers via the V3 index. This replaces brittle file-share publishing with a versioned, queryable package registry.
Call PUT /F/our-internal/api/v2/package/Acme.Library/1.4.2 with the .nupkg payload and the X-NuGet-ApiKey header to publish the build.
Multi-Protocol Package Aggregation
Use a single MyGet feed as a unified source for NuGet, npm, Maven, and PyPI dependencies inside a polyglot codebase. Each language's package manager points at the appropriate protocol endpoint - /api/v3/index.json for NuGet, /npm/{packageName} for npm, /maven/{groupPath}/{artifactId}/{version}/{fileName} for Maven, and /pypi for PyPI. This consolidates package governance into one feed with one set of credentials.
Resolve the npm package @acme/cli by calling GET /F/our-feed/npm/@acme%2Fcli and Maven artifact com.acme:lib:1.0 by calling GET /F/our-feed/maven/com/acme/lib/1.0/lib-1.0.jar.
Feed Provisioning and Access Control
Provision a new MyGet feed for a project team and grant access via the management API. The integration calls POST /api/v1/feeds to create the feed, then POST /api/v1/feeds/{feedName}/privileges to grant read or push rights to specific principals. This automates onboarding for new repos that need their own private feed without manual portal clicks.
Call POST /api/v1/feeds with the new feed name, then POST /api/v1/feeds/{feedName}/privileges to grant push rights to the team's CI service account.
AI Agent Package Operator
An AI agent maintains a fleet of MyGet feeds for a developer platform team. It searches Jentic for MyGet operations, loads the feed creation and package push schemas, and chains GET /api/v1/feeds, POST /api/v1/feeds, and PUT package operations to create feeds on demand and migrate packages between them. Jentic isolates the X-NuGet-ApiKey so the agent never sees the raw secret.
Search Jentic for 'create a MyGet feed', execute POST /api/v1/feeds, then push three required packages with PUT /F/{feedName}/api/v2/package/{packageId}/{version}.
21 endpoints — jentic publishes the only available openapi specification for myget api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/F/{feedName}/api/v3/index.json
NuGet V3 service index
/F/{feedName}/api/v2/package/{packageId}/{version}
Push a NuGet package to a feed
/F/{feedName}/api/v2/package/{packageId}/{version}
Delete a NuGet package version
/F/{feedName}/api/v2/Search()
Search packages in a feed
/F/{feedName}/auth/token
Mint a per-feed access token
/api/v1/feeds
Create a new feed
/api/v1/feeds/{feedName}/packages
List packages in a feed
/api/v1/feeds/{feedName}/privileges
Add a feed privilege for a principal
/F/{feedName}/api/v3/index.json
NuGet V3 service index
/F/{feedName}/api/v2/package/{packageId}/{version}
Push a NuGet package to a feed
/F/{feedName}/api/v2/package/{packageId}/{version}
Delete a NuGet package version
/F/{feedName}/api/v2/Search()
Search packages in a feed
/F/{feedName}/auth/token
Mint a per-feed access token
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the MyGet API by hand means handling two auth modes, the X-NuGet-ApiKey header and basic auth, and picking between the V2 OData, V3 index, and management endpoints for each feed yourself. Through Jentic you install once, import the MyGet API from the API Directory, store the credentials once, and your agent calls it.
Permission scoping
MyGet puts the feed name in the URL path (/F/{feedName}/...), so a rule can pin your agent to one feed: it can read its index or push packages there and nothing else. You choose the operations it may call, so a destructive call like deleting a package version is not included unless you add it.
Credential isolation
Your MyGet API key and basic credentials are stored once, encrypted, by your own Jentic One instance and injected per operation at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'push a nuget package to a private feed' or 'list feed packages', and Jentic returns the matching MyGet operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
GitHub REST API
GitHub Packages provides another private package registry that often co-exists with MyGet for repo-bound distribution.
Use GitHub Packages when distribution is tightly coupled to a GitHub repo's CI; use MyGet for cross-repo or vendor-curated feeds.
Specific to using MyGet API through Jentic.
Why is there no official OpenAPI spec for MyGet API?
MyGet does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call MyGet API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the MyGet API use?
The MyGet API accepts two schemes: an `X-NuGet-ApiKey` header for package operations and HTTP basic authentication for management endpoints. Through Jentic, both credential types are stored in the encrypted vault and injected per operation, so agent prompts never see raw API keys.
Can I push a NuGet package with the MyGet API?
Yes. Call PUT /F/{feedName}/api/v2/package/{packageId}/{version} with the .nupkg as the request body and the X-NuGet-ApiKey header. The package is added to the feed and surfaced through the V2 OData and V3 index endpoints to downstream NuGet clients.
How do I create a new feed through Jentic?
Search Jentic for 'create a MyGet feed', load the POST /api/v1/feeds schema, and execute it with the new feed name and configuration. Chain POST /api/v1/feeds/{feedName}/privileges in the same agent run to grant access to your CI principal.
Does MyGet support npm and Maven through the same feed?
Yes. The same feed exposes protocol-specific endpoints - /npm/{packageName} for npm metadata, /maven/{groupPath}/{artifactId}/{version}/{fileName} for Maven artifacts, and /pypi for the PyPI simple index. A polyglot project can point all three package managers at one MyGet feed.
What are the rate limits for the MyGet API?
The published spec does not define explicit numeric rate limits. Treat package push and search endpoints as throttled in CI, implement exponential backoff on 429 responses, and contact MyGet support for plan-specific quotas before bulk migrations.
Can I limit what my agent is allowed to do with the MyGet API?
Yes. Because you run Jentic One yourself, your own rules decide which MyGet operations and credentials the agent may use. MyGet puts the feed name in the URL path (/F/{feedName}/...), so you can pin the agent to a single feed and let it only read the V3 index (GET /F/{feedName}/api/v3/index.json) or push packages (PUT /F/{feedName}/api/v2/package/{packageId}/{version}) there. You choose which endpoints it may call, so a destructive operation like DELETE /F/{feedName}/api/v2/package/{packageId}/{version} stays out of reach unless you explicitly grant it.
/api/v1/feeds
Create a new feed
/api/v1/feeds/{feedName}/packages
List packages in a feed
/api/v1/feeds/{feedName}/privileges
Add a feed privilege for a principal