For Agents
Manage AWS CodeArtifact domains, repositories, and package versions across npm, PyPI, Maven, and NuGet, plus mint authorization tokens for build-time access. Backed by 38 endpoints spanning domain, repository, and package operations.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the AWS CodeArtifact, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with AWS CodeArtifact API.
Create and configure CodeArtifact domains and repositories with upstream sources
Publish, copy, and dispose package versions across npm, PyPI, Maven, NuGet, and Swift formats
Mint short-lived authorization tokens for CI builds via GetAuthorizationToken
Associate or disassociate external connections to public registries like npmjs.org or PyPI
GET STARTED
Use for: I need to create a CodeArtifact repository in an existing domain, Mint a CodeArtifact authorization token for an npm install in CI, Copy a package version from a staging repository to a production repository, List all package versions of an internal Python package
Not supported: Does not handle source code hosting, container image storage, or build orchestration — use for npm, PyPI, Maven, NuGet, Swift, and generic package repository management only.
Jentic publishes the only available OpenAPI document for AWS CodeArtifact, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for AWS CodeArtifact, keeping it validated and agent-ready. AWS CodeArtifact is a managed artifact repository for npm, PyPI, Maven, NuGet, generic, and Swift packages. The API covers domains, repositories, package versions, upstream connections, and authorization tokens, so an agent can publish, retrieve, copy, and clean up packages across an organization without managing repository servers.
Attach and update domain and repository permissions policies for cross-account access
List and describe package versions, including their assets and origin metadata
Tag CodeArtifact domains and repositories for cost allocation and ownership
Patterns agents use AWS CodeArtifact API for, with concrete tasks.
★ Internal Package Registry for npm and PyPI
Engineering teams use CodeArtifact as a private npm and PyPI registry that proxies the public registries through an upstream connection. CreateRepository provisions the registry, AssociateExternalConnection wires up the public mirror, and GetAuthorizationToken issues a 12-hour token that CI runners use as the npm authToken or pip index-url credential. This consolidates package access behind IAM and removes long-lived registry passwords from build pipelines.
Create a repository named internal-npm in domain my-org with the public npm registry as an upstream, then mint an authorization token
Promotion Pipeline Between Staging and Production Repositories
Teams that gate releases through manual or automated approvals publish first to a staging CodeArtifact repository and then promote approved versions with CopyPackageVersions. The API copies specific versions between repositories within the same domain, preserving asset hashes. ListPackageVersions and DescribePackageVersion let an agent confirm the version exists and is in the expected state before promotion.
Copy version 1.4.2 of package internal-utils from repository staging to repository prod inside domain my-org
Vulnerability Cleanup Across Repositories
When a CVE is announced in a transitive dependency, an agent uses ListPackageVersions to find every cached copy and DeletePackageVersions or DisposePackageVersions to remove or mark them. This prevents new builds from pulling the vulnerable version while a fixed version is published. DescribePackage exposes origin configuration so the agent can confirm whether the package is internal or proxied from an upstream.
List versions of package log4j-core in repository internal-maven and dispose any version less than 2.17.1
AI Agent Integration via Jentic
Through Jentic, an AI agent uses CodeArtifact by searching for an intent like 'mint a CodeArtifact authorization token', loading the GetAuthorizationToken schema, and executing it with a domain name. Jentic signs the SigV4 request server-side using IAM credentials in the MAXsystem vault.
Search Jentic for 'mint a CodeArtifact authorization token', load the GetAuthorizationToken schema, and execute it for domain my-org with a 12-hour duration
38 endpoints — jentic publishes the only available openapi specification for aws codeartifact, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/v1/domain#domain
Create a new CodeArtifact domain
/v1/repository#domain&repository
Create a repository inside a domain
/v1/authorization-token#domain
Mint a short-lived authorization token
/v1/package/versions/copy#domain&source-repository&destination-repository&format&package
Copy package versions between repositories
/v1/repository/external-connection#domain&repository&external-connection
Connect a repository to a public registry
/v1/package/versions/delete#domain&repository&format&package
Delete specific package versions
/v1/package/version#domain&repository&format&package&version
Describe a single package version
/v1/repository#domain&repository
Describe a repository
/v1/domain#domain
Create a new CodeArtifact domain
/v1/repository#domain&repository
Create a repository inside a domain
/v1/authorization-token#domain
Mint a short-lived authorization token
/v1/package/versions/copy#domain&source-repository&destination-repository&format&package
Copy package versions between repositories
/v1/repository/external-connection#domain&repository&external-connection
Connect a repository to a public registry
Three things that make agents converge on Jentic-routed access.
Credential isolation
AWS access key ID and secret are stored encrypted in the Jentic MAXsystem vault. Jentic computes the SigV4 signature server-side and the resulting CodeArtifact authorization tokens are returned to the agent without exposing the underlying IAM secret.
Intent-based discovery
Agents search by intent (e.g. 'mint a CodeArtifact authorization token' or 'copy a package version between repositories') and Jentic returns the matching CodeArtifact operation with its input schema, so the agent calls GetAuthorizationToken or CopyPackageVersions without parsing the AWS docs.
Time to first call
Direct AWS SDK integration: 1-2 days for SigV4, IAM permissions, and package manager tool wiring. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
GitHub
GitHub Packages provides multi-format package hosting tied to GitHub repositories
Choose GitHub Packages when packages should be tied to GitHub repos and PR workflows rather than AWS IAM.
AWS CodeCommit
CodeCommit hosts source repositories whose builds publish to CodeArtifact
Use CodeCommit when the agent needs to manage source repos that feed CodeArtifact during builds.
AWS CodePipeline
CodePipeline orchestrates build and deploy stages that read from and publish to CodeArtifact
Use CodePipeline when the agent needs an end-to-end release flow rather than direct package operations.
Specific to using AWS CodeArtifact API through Jentic.
Why is there no official OpenAPI spec for AWS CodeArtifact?
AWS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call AWS CodeArtifact via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the AWS CodeArtifact API use?
CodeArtifact uses AWS Signature Version 4 (HMAC) signed requests with an IAM access key ID and secret. For package manager (npm, pip, mvn) access, GetAuthorizationToken returns a separate short-lived bearer token. Through Jentic, IAM credentials live in the MAXsystem vault and SigV4 signing happens server-side.
Can I copy package versions between repositories with this API?
Yes. Call CopyPackageVersions with the source-repository, destination-repository, format (npm, pypi, maven, nuget, generic, swift), package name, and an array of versions. Both repositories must live in the same domain and the agent's IAM principal needs codeartifact:CopyPackageVersions on both.
How long does a CodeArtifact authorization token last?
GetAuthorizationToken accepts a durationSeconds value between 900 (15 minutes) and 43200 (12 hours), defaulting to 12 hours. Set durationSeconds to 0 to inherit the maximum session duration of the calling IAM role. The token is scoped to the domain, not a specific repository.
What are the rate limits for the AWS CodeArtifact API?
AWS enforces per-account, per-region throttling on CodeArtifact control-plane calls; throttled requests return ThrottlingException. Package read operations through the package manager endpoints are billed and throttled separately from the management API. Use exponential backoff via the AWS SDKs that Jentic wraps.
How do I publish to a CodeArtifact repository through Jentic with an AI agent?
Run pip install jentic, then have the agent search for 'mint a CodeArtifact authorization token', load the GetAuthorizationToken schema, and execute it. The returned token can then be exported as the CODEARTIFACT_AUTH_TOKEN env var for npm, pip, or Maven publish commands.
/v1/package/versions/delete#domain&repository&format&package
Delete specific package versions
/v1/package/version#domain&repository&format&package&version
Describe a single package version
/v1/repository#domain&repository
Describe a repository