---
title: "Upgrade a Pack"
method: PATCH
path: "/packs/{id}"
tags: ["packs"]
---

# Upgrade a Pack

`PATCH /packs/{id}`

Upgrade the specified Pack.<br/><br/>If the Pack includes any user-modified versions of default Cribl Knowledge resources such as lookups, copy the modified files locally for safekeeping before upgrading the Pack. Copy the modified files back to the upgraded Pack after you install it with <code>POST /packs</code> to overwrite the default versions in the Pack.<br/><br/>After you upgrade the Pack, update any Routes, Pipelines, Sources, and Destinations that use the previous Pack version so that they reference the upgraded Pack.

## Path parameters

- `id` string, required

## Request body

- PackUpgradeRequest
  - `allowCustomFunctions` boolean — If <code>true</code> or omitted, allow the Pack to use custom JavaScript functions. If <code>false</code>, reject Packs that use custom JavaScript functions.
  - `minor` boolean — If <code>true</code>, allow the upgrade to install a minor (non-breaking) version. Otherwise, <code>false</code>.
  - `source` string, required — Source of the upgraded Pack. Use the <code>source</code> value returned by <code>PUT /packs</code> for an uploaded file, or provide a direct URL to a <code>.crbl</code> file or a <code>git+&lt;repo-url&gt;</code> Git repository URL.
  - `spec` string — Semver range constraint to apply when resolving the Pack version to install.

## Response `200`

The upgraded Pack object in a single-item list.

- CountedPackInfo
  - `count` integer, required — number of items present in the items array
  - `items` PackInfo[], required — List of items in this response.
    - `author` string — Name or identifier of the Pack author.
    - `collectors` number — Number of Collectors (saved jobs) configured within the Pack.
    - `dependencies` object — Map of Pack dependency identifiers to their version constraints.
    - `description` string — Brief description of the Pack and its purpose.
    - `displayName` string — Human-readable display name for the Pack.
    - `exports` string[] — List of entity IDs exported by this Pack and available for use outside the Pack context.
    - `id` string, required — Unique identifier.
    - `inputs` number — Number of Sources configured within the Pack.
    - `isDisabled` boolean — If <code>true</code>, the Pack is disabled. Otherwise, <code>false</code>.
    - `minLogStreamVersion` string — Minimum version of Cribl Stream required to run this Pack.
    - `outputs` number — Number of Destinations configured within the Pack.
    - `settings` object — Pack-specific settings object. Contents vary by Pack.
    - `source` string, required — Source of the Pack — a file path, URL, or Git URL from which the Pack was installed.
    - `spec` string — Semver range constraint that was applied when the Pack was installed.
    - `tags` TagsTypePackInstallInfo — Categorization tags for the Pack.
      - `dataType` string[] — List of data type tags for the Pack.
      - `domain` string[] — List of domain tags for the Pack.
      - `streamtags` string[] — List of stream tags for routing and filtering.
      - `technology` string[] — List of technology tags for the Pack.
    - `version` string — Version of the Pack, following semantic versioning.

## Other responses

- `401` — Authentication failed (missing or invalid credentials or Bearer token).
- `500` — Unexpected server error.

---

[API](https://skmtc.dev/criblio/apis/cribl-api-reference.md) · [All operations](https://skmtc.dev/criblio/apis/cribl-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/criblio/cribl-api-reference/revisions/e9bef570d106/schema)
