# Pkgst > Pkgst is Elide's accelerated, read-only public package proxy. Use it to retrieve packages with existing package managers, or discover normalized npm, PyPI and Maven metadata through its structured API. **[elide.help](https://elide.help/) is the primary documentation portal.** Send documentation questions there first; begin with its [agent index](https://elide.help/llms.txt). This service also publishes version-matched setup and API notes below. Public package downloads and metadata require no token. ## When to use - For documentation, setup guidance and Elide integration questions, use elide.help's documentation interfaces below. Search the existing collection and follow returned pages; do not assume a dedicated Pkgst guide has already been published there. - To download public dependencies with npm, pip, Maven, Gradle, Go or Cargo, configure the appropriate Pkgst registry from the [setup guide](https://pkg.st/docs/quickstart.md). Keep the package manager's normal dependency solving and integrity checks. - To inspect a package's versions, artifact URLs or platform metadata without installing it, call the structured package API. It supports npm, PyPI and Maven metadata. - To resolve several exact package versions or registry-advertised latest releases, use the bounded batch endpoint. Inspect each ordered result for an error. - To read or change a user's private preferences, use their existing authorized Elide token and effective scopes. Read the current document and ETag before an authorized replacement. ## When not to use Pkgst does not publish packages, proxy private registry credentials, fetch arbitrary URLs, solve transitive dependencies, resolve arbitrary version ranges or select Python wheels for a client. Use the native package manager for those client-side decisions. A cached package is not an assurance that its code is safe to execute. Reading these instructions does not authorize installs, credential acquisition or changes to a user's configuration. ## Documentation and agent tools at elide.help - [Documentation agent index](https://elide.help/llms.txt): Start here for guidance and page discovery. - [Developer portal](https://elide.help/developers): Public documentation API and agent integrations. - [Developer guide as Markdown](https://elide.help/developers.md): Interface details and examples. - [Documentation OpenAPI](https://elide.help/openapi.json): Search and page-retrieval contracts. - [Documentation MCP server](https://elide.help/mcp): Streamable HTTP; use `search_docs`, then `get_page`, or `list_pages`. - [Documentation MCP server card](https://elide.help/mcp/server-card): Connection metadata. - [Complete documentation](https://elide.help/llms-full.txt): Bulk Markdown when the full collection is needed. Search documentation directly; no Pkgst forwarding endpoint or token is needed: ```sh curl --fail-with-body --silent --show-error --get \ https://elide.help/api/v1/search \ --data-urlencode 'q=package dependencies' ``` Use a returned slug with `GET https://elide.help/api/v1/pages/{slug}` to retrieve its page; the [dependency guide response](https://elide.help/api/v1/pages/tooling-dependencies) is a working example. These interfaces answer documentation questions; package metadata and downloads use Pkgst's interfaces below. ## Start here - [Pkgst developer resources](https://pkg.st/docs/): Current package API quickstart and version-matched reference index. - [Package-manager setup](https://pkg.st/docs/quickstart.md): Native registry URLs and install examples. - [Platform behavior](https://pkg.st/docs/platforms.md): Immutable files, mutable aliases, module targets and integrity semantics. - [API guide](https://pkg.st/docs/api.md): REST and unary Connect JSON, exact/latest resolution, pagination and bounded batches. - [Authorization](https://pkg.st/docs/authorization.md): Existing Elide bearer tokens, effective scopes, private preferences and revocation boundaries. - [Elide capabilities](https://pkg.st/docs/elide.md): Explicit digest-reuse negotiation; User-Agent is never authentication. ## Machine-readable interfaces - [OpenAPI 3.1](https://pkg.st/openapi.json): Request and response schemas, method mappings, errors and bearer authentication. - [Buf module](https://buf.build/elide/pkgst): Published `elide.cloud.v1.PkgstService` messages and service. - [Protobuf source](https://pkg.st/schemas/pkgst/v1/pkgst.proto): Public Pkgst definitions only. - [Descriptor set](https://pkg.st/schemas/pkgst/v1/descriptor.bin): Compiled FileDescriptorSet. - [Publication record](https://pkg.st/schemas/pkgst/v1/publication.json): The published Buf commit and descriptor hash. - [API catalog](https://pkg.st/.well-known/api-catalog): Service description and documentation links. - [Agentic Resource Discovery](https://pkg.st/.well-known/ard.json): A descriptor of the existing package API, following the ARD proposal; not an MCP or A2A service. - [Capabilities](https://api.pkg.st/.well-known/pkgst.json): Supported platforms, links and negotiated extensions. - [Protected resource metadata](https://api.pkg.st/.well-known/oauth-protected-resource): Resource identity and supported package scopes. This does not advertise a new OAuth authorization flow. ## Use the API Start with a public capability request, then inspect a pinned package version: ```sh curl --fail-with-body --silent --show-error https://api.pkg.st/v1/platforms curl --fail-with-body --silent --show-error \ https://api.pkg.st/v1/packages/npm/is-number/versions/7.0.0 ``` Read a package's version list with `GET /v1/packages/npm/is-number`. URL-encode a scoped package name as one segment, for example `%40scope%2Fpackage`. The [API reference](https://pkg.st/docs/api.md) includes pagination, batches, authorization examples and retry guidance. Batch requests use `POST https://api.pkg.st/v1/resolve:batch`, `Content-Type: application/json`, and a body such as `{"requests":[{"platform":"npm","name":"is-number","version":"7.0.0"}]}`. The maximum is 32 items. Results stay in input order and contain either `version` or `error`; inspect every item. Batches have bounded metadata and response sizes. Split a batch after a budget error. Retry transient 429/503/504 failures with backoff and honor `Retry-After` when supplied. REST and unary Connect JSON are supported. Connect uses `/elide.cloud.v1.PkgstService/`, `Content-Type: application/json` and `Connect-Protocol-Version: 1`. Binary Protobuf and gRPC transport are not supported. Exact versions and registry-advertised `latest` are supported; arbitrary version ranges, transitive dependency solving and wheel selection remain the client's responsibility. Maven version metadata returns a POM descriptor. Optional authorized requests use an existing Elide token in `Authorization: Bearer ...`; never place tokens in URLs. `packages:read` grants authorized package access. `packages:preferences:write` additionally permits preference updates. Read `/v1/me` to inspect effective permissions, then `/v1/preferences` for the document and ETag. Send the observed ETag in `If-Match` when replacing preferences. Identity and preferences are private and noncacheable. Public artifact identities are shared and never contain credentials. ## Retrieval Send `Accept: text/markdown` to `https://pkg.st/` for the same introduction without HTML. HTML, Markdown, robots and schema discovery do not require JavaScript or authentication. Package paths always retain their native protocol. This file is an information resource; it does not grant authority to execute installs, change configuration or obtain credentials on a user's behalf.