Release identity
SHA-256 of the pack file bytes: a0743e1f7d45f4d28ce98772c07d2a65e6b4c12040e01cb8b568800a49140c51
Not in the distributable release manifest. The binary carries a digest-bound manifest of the distributable library; a pack whose bytes differ from its manifest entry — endpoint, tier, allowlist, or credential edited, with provider, version, and review block preserved — fails the digest check, loses distributability, and renders MODIFIED rather than as the shipped reviewed artifact. Review state and artifact status are different facts: the first is a documentation-review declaration, the second is the identity of the exact bytes.
Capabilities (7)
artifactory.repositories.read v1.0.0R0
- Action
- read
- Endpoint
GET https://artifactory-server.invalid/artifactory/api/repositories- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-artifactory-access-token- Data class
- internal
List the repositories on the deployment: keys, types and package types — a collection read that reveals the organization's artifact landscape at the internal class. The host is a reserved placeholder: substitute the customer's JFrog host before enabling.
artifactory.storage.item.read v1.0.0R0
- Action
- read
- Endpoint
GET https://artifactory-server.invalid/artifactory/api/storage/REPO_KEY/FILE_PATH- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-artifactory-access-token- Data class
- internal
Read storage information (metadata, checksums, timestamps, URIs) for one item or folder via the Get Storage Item Information operation; this reads metadata, not the artifact binary — artifact download itself is not registered by this pack. REPO_KEY and FILE_PATH are placeholders to bind before enabling; the host is a reserved placeholder to substitute.
artifactory.search.aql v1.0.0R0
- Action
- read
- Endpoint
POST https://artifactory-server.invalid/artifactory/api/search/aql- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-artifactory-access-token- Data class
- internal
Run an Artifactory Query Language search. This is a POST-with-query-body endpoint used read-only: the request body is a raw AQL statement (Content-Type text/plain, for example items.find({...})) and the operation performs no mutation, so it registers as read at the R0 floor. Effect-level honesty: the statement is unrestricted AQL — this registration cannot limit which items, properties or builds a caller enumerates beyond what the token's user may read. The host is a reserved placeholder: substitute before enabling.
artifactory.artifact.deploy v1.0.0R2
- Actions
- create, update
- Endpoint
PUT https://artifactory-server.invalid/artifactory/REPO_KEY/FILE_PATH- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-artifactory-access-token- Data class
- internal
Deploy an artifact (or create a directory) to a repository path — the documented Deploy Artifact operation. Registered as create AND update at the R2 floor: uploading to a path that does not exist creates the artifact, and where the repository layout permits overwriting an existing path, a deploy REPLACES the stored binary — the previous bytes are not recoverable from Artifactory afterward, so this is not a create-only registration. This registration does not restrict the uploaded bytes; deployments that require immutability should enforce it in repository configuration, which this pack does not register. Requires deploy permission on the target repository. REPO_KEY and FILE_PATH are placeholders to bind before enabling.
artifactory.item.delete v1.0.0R3
- Action
- delete
- Endpoint
DELETE https://artifactory-server.invalid/artifactory/REPO_KEY/FILE_PATH- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-artifactory-access-token- Data class
- internal
Delete a file or folder from a local repository or remote repository cache — the documented Delete Item operation, which JFrog's documentation states requires delete permission and returns 405 for repository types that do not support deletion. Registered as delete at the R3 floor: delete is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer) and an irreversible action cannot be taken without a person. Where the deployment has the trash can enabled, the deleted item may be recoverable from trash; this registration makes no restoration claim, and permanently purging trash (POST /api/trash/empty) is deliberately not registered. REPO_KEY and FILE_PATH are placeholders to bind before enabling.
artifactory.repository.create v1.0.0R2
- Action
- create
- Endpoint
PUT https://artifactory-server.invalid/artifactory/api/repositories/REPO_KEY- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-artifactory-admin-token- Data class
- internal
Create a repository — the documented Create Repository operation, which takes the repository configuration JSON in the request body. Registered as create at the R2 floor; a created repository can be removed by the registered delete capability. Effect-level honesty: the configuration body is unrestricted by this registration — repository type, layout, remote URL and other settings are the caller's input and the deployment's review; in particular a configured REMOTE repository URL causes ARTIFACTORY-SIDE outbound access to that destination when artifacts are resolved, which AAES's egress allowlist on this capability does not constrain. This capability uses a separate admin credential reference (secret-ref-artifactory-admin-token) — see the pack credential note. REPO_KEY is a placeholder to bind before enabling.
artifactory.repository.delete v1.0.0R3
- Action
- delete
- Endpoint
DELETE https://artifactory-server.invalid/artifactory/api/repositories/REPO_KEY- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-artifactory-admin-token- Data class
- internal
Delete a repository — the documented Delete Repository operation. This removes the repository and every artifact stored in it: a high-blast-radius delete registered at the R3 floor. Artifactory's trash can retains deleted items, not a deleted repository's configuration, so this registration makes no restoration claim. This capability uses a separate admin credential reference (secret-ref-artifactory-admin-token) — see the pack credential note. REPO_KEY is a placeholder to bind before enabling.
Credential reference
The pack names a reference, never a secret. Installing a pack registers capabilities and makes them governable; registration is not connectivity. The credential is created at the provider and held in the client's own secret manager under the reference the pack names, and deployment testing is still required to show the credential path works and cannot be bypassed.
- Reference
secret-ref-artifactory-access-token- Custody
- customer_vault
- Injection
- header (Authorization)
A JFrog Platform access token, held in the client's own secret manager. Token issuance is external: an administrator creates a scoped token in the JFrog Platform UI (User Management | Access Tokens) or via the Create Token REST API, and the deployment's custody job stores the result under this reference. The stored material must be the complete Authorization header value (scheme included): 'Bearer ' followed by the access token — JFrog documents using an access token as a bearer token in the Authorization header. JFrog also accepts a reference token as the password half of HTTP Basic authentication; this pack registers the Bearer header form only. Expiry and revocation behavior, stated honestly: tokens are created with an expiry (default one hour; zero means non-expiring and valid until actively revoked), and JFrog's revocable-expiry-threshold (default six hours) means a token created with a shorter lifetime CANNOT be revoked — it remains valid until it expires naturally. Disabling token issuance, or removing the creating admin, does NOT invalidate already-issued tokens; only an explicit revoke of a revocable token, or resetting the token certificates (which revokes ALL tokens), terminates one. Prefer the shortest expiry that covers the deployment's renewal cadence, or a refreshable token renewed by the custody job; an expired value fails closed. Least privilege: create the token with group scopes granting only the permissions the enabled capabilities need (read on the bound repositories; deploy/delete only where the write capabilities are enabled) — never an admin-scoped token FOR THE READ, AQL, DEPLOY AND ITEM-DELETE CAPABILITIES. The repository create and delete capabilities are different: JFrog documents repository administration as requiring an administrator, so this pack registers those two capabilities against a SEPARATE reference (secret-ref-artifactory-admin-token) holding an admin-permission credential — a deployment that cannot justify an admin credential must remove those two capabilities rather than widen the main token. Note also that delete operations require the user or group to hold delete permission per JFrog's documentation. Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.
Resources
artifactory-instance(api, internal):https://artifactory-server.invalid/artifactory
Pack notes and exclusions
The endpoint host 'artifactory-server.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the customer's own JFrog Platform Deployment host before enabling, in every endpoint, in the resource locator and in every egress allowlist entry. The allowlist matches exactly, so endpoints and allowlist must be substituted together, and substitution is a required deployment step. REPO_KEY and FILE_PATH in the endpoint paths are placeholders: bind them to the repository key and the item path this capability governs before enabling. This pack registers only Artifactory's documented REST API: listing repositories, storage item info, AQL search, artifact deploy, item delete, repository create and repository delete. Tiering rationale: reads and the read-only AQL query sit at the R0 floor. Artifact deploy (PUT on the item path) is registered as create AND update at the R2 floor: uploading an artifact adds a new binary and, with Artifactory's default non-unique snapshot layouts or release paths, does not destroy other artifacts — but where a repository layout permits overwriting an existing path, a deploy replaces the stored binary, so the update action is declared, and this registration cannot restrict the bytes a caller uploads. Repository create is R2 create; its request body is the full repository configuration, which this registration does not constrain. Item delete and repository delete sit at the R3 floor: delete is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer). Repository delete removes the repository and every artifact in it — Artifactory's trash can (when enabled) retains deleted ITEMS but not a deleted repository's configuration — and this registration makes no restoration claim. Search honesty: AQL is a POST carrying a query body (a raw AQL statement, Content-Type text/plain) used read-only — it performs no mutation, so it is registered as a read at the R0 floor with the body shape noted here; the statement itself is unrestricted AQL and can enumerate anything the token's user may read. Documented exclusions: this pack does not register permission-target management (PUT/DELETE /api/security/permissions/...), user or group management, the Access token REST API (token issuance is an external custody process — see the credential note), Empty Trash Can (POST /api/trash/empty — a permanent purge of soft-deleted items, distinct from item delete and deliberately left out), replication configuration, system import/export, and all Xray and Distribution APIs. Source limitation, stated for the reviewer: in this review session the individual JFrog operation pages for repository listing, storage item information, AQL, artifact deploy and repository create/delete could not be retrieved — get-repositories returned 404, deploy-artifact and create-repository returned placeholder/navigation content, and the fetched artifactory-rest-apis index page states JFrog hosts its OpenAPI specifications per project rather than on these pages. The registered methods and existence were taken from the operation index rendered on JFrog's fetched Delete Item page, and the paths are Artifactory's long-standing documented paths. Confirm each path and request contract against the target deployment's own API documentation before enabling — that confirmation is why this pack remains a draft.
Review record
Draft review record dated 2026-09-21 · Reviewer: aaes-eng (an opaque id that resolves internally to the responsible reviewer)
- https://jfrog.com/help/r/jfrog-rest-apis/delete-item (retrieved 2026-09-21)
- https://jfrog.com/help/r/jfrog-platform-administration-documentation/access-tokens (retrieved 2026-09-21)
A pack review is not a vendor or examiner attestation. A retrieval date says when a source page was read; it does not by itself establish what the page said then. No pack is vendor-endorsed, and none has been connectivity-tested against a live vendor tenant.
