---
title: "Create a new package"
method: POST
path: "/scopes/{scope}/packages"
---

# Create a new package

`POST /scopes/{scope}/packages`

Creates a new package in a scope

## Path parameters

- `scope` string, required — The name of a scope. This must not be @ prefixed.

## Request body

- CreatePackageRequest
  - `package` string, required — The name of a package.

## Response `200`

OK

- Package
  - `scope` string, required — The name of a scope. This must not be @ prefixed.
  - `name` string, required — The name of a package.
  - `description` string, required — The description of the package.
  - `runtimeCompat` RuntimeCompat
    - `browser` boolean, nullable — Whether the package is compatible with web browsers.
    - `deno` boolean, nullable — Whether the package is compatible with Deno.
    - `node` boolean, nullable — Whether the package is compatible with Node.js.
    - `workerd` boolean, nullable — Whether the package is compatible with workerd.
    - `bun` boolean, nullable — Whether the package is compatible with Bun.
  - `createdAt` string, date-time, required — The date and time when the package was created.
  - `updatedAt` string, date-time, required — The date and time when the package was last updated.
  - `githubRepository` GitHubRepository
    - `id` integer, required — The GitHub repository ID.
    - `owner` string, required — The GitHub user / organization of the repository.
    - `name` string, required — The GitHub repository name.
    - `createdAt` string, date-time, required — The date and time when the GitHub repository link was created.
    - `updatedAt` string, date-time, required — The date and time when the GitHub repository link was last updated.
  - `score` integer, nullable — The package score percentage (0-100).
  - `versionCount` integer, required — The number of versions of the package.
  - `dependencyCount` integer, required — The number of dependencies of the package.
  - `dependentCount` integer, required — The number of packages that depend on this package.
  - `latestVersion` string, nullable — The latest version of the package.
  - `whenFeatured` string, date-time, nullable — The date and time when the package was featured.
  - `isArchived` boolean, required — Whether the package is archived.
  - `readmeSource` 'readme' | 'jsdoc', required — The source of the package readme.
  - `symbolCount` integer, nullable — The number of symbols documented by the latest version of the package. Null for packages with no published version, and for packages whose latest version was published before this count was recorded.

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — User is not a scope member
- `404` — Scope not found

## Changes

- **2026-08-26** `abb153728b13` — 1 info
  - added the optional property `symbolCount` to the response with the `200` status

[Change history](https://skmtc.dev/deno/apis/jsr/changes/scopes/:scope/packages/post.md)

---

[API](https://skmtc.dev/deno/apis/jsr.md) · [All operations](https://skmtc.dev/deno/apis/jsr/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/deno/jsr/revisions/abb153728b13/schema)
