Push Symbol Packages
It is possible to push symbols packages (snupkg) using the NuGet V3 API.
These operations are based off of the SymbolPackagePublish
resource found in the service index.
Versioning
The following @type
value is used:
@type value | Notes |
---|---|
SymbolPackagePublish/4.9.0 | The initial release |
Base URL
The base URL for the following APIs is the value of the @id
property of the SymbolPackagePublish/4.9.0
resource in the
package source's service index. For the documentation below, nuget.org's URL is used. Consider
https://www.nuget.org/api/v2/symbolpackage
as a placeholder for the @id
value found in the service index.
HTTP methods
The PUT
HTTP method is supported by this resource.
Push a symbol package
nuget.org supports pushing new symbol packages format (snupkg) using the following API.
PUT https://www.nuget.org/api/v2/symbolpackage
Symbol packages with the same ID and version can be submitted multiple times. A symbol package will be rejected in the following cases.
- A package with the same ID and version does not exist.
- A symbol package with the same ID and version was pushed but is not yet published.
- The symbol package (snupkg) is invalid (see symbol package constraints).
Request parameters
Name | In | Type | Required | Notes |
---|---|---|---|---|
X-NuGet-ApiKey | Header | string | yes | For example, X-NuGet-ApiKey: {USER_API_KEY} |
The API key is an opaque string gotten from the package source by the user and configured into the client. No particular string format is mandated but the length of the API key should not exceed a reasonable size for HTTP header values.
Request body
The request body for the symbol push is same as with the request body of a package push request (see package push and delete).
Response
Status Code | Meaning |
---|---|
201 | The symbol package was successfully pushed. |
400 | The provided symbol package is invalid. |
401 | The user is not authorized to perform this action. |
404 | A corresponding package with the provided ID and version does not exist. |
409 | A symbol package with the provided ID and version was pushed but it is not available yet. |
413 | The package is too large. |