Skip to content

Add or override an entry in an org-owned pack

POST
/api/v1/policy/{registry_type}/packs/{slug}/entries
curl --request POST \
--url https://api.pkgplease.com/api/v1/policy/example/packs/example/entries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "package_name": "example", "version_range": "example", "reason": "example", "override_of_pack_id": "example", "expires_at": "example" }'

The only writer of an org-authored pack's entries — replaces the removed blocklist/allowlist endpoints. Goes through a guarded write path: rejects a pack the caller's org does not own (403), rejects an overlapping range for the same package (409), and — when override_of_pack_id is set — validates the ceremony the overridden pack's block class demands (400 if it fails; a security override requires a permitting role, a written reason, and an expiry). Every write emits a ledger-grade audit event (pack, entry, range, reason, and for an override the overridden pack id and expiry).

registry_type
required
string

One of the org's configured registry types (npm is the one in active use).

slug
required
string
Media typeapplication/json
object
package_name
required
string
version_range

A semver range. Omitted or null means all versions.

string
nullable
reason
string
nullable
override_of_pack_id

Set when this entry is authored to override a specific block pack.

string
nullable
expires_at

Required when overriding a block:security pack.

string
nullable
Examplegenerated
{
"package_name": "example",
"version_range": "example",
"reason": "example",
"override_of_pack_id": "example",
"expires_at": "example"
}

Entry created

Media typeapplication/json
object
Examplegenerated
{}

Missing package_name

Media typeapplication/json
object
error
required
string
Examplegenerated
{
"error": "example"
}

The resolved pack is not owned by the caller's org

Media typeapplication/json
object
error
required
string
Examplegenerated
{
"error": "example"
}

No pack matches the slug

Media typeapplication/json
object
error
required
string
Examplegenerated
{
"error": "example"
}

The range overlaps an existing entry for the same package

Media typeapplication/json
object
error
required
string
Examplegenerated
{
"error": "example"
}