Skip to main content

Upload Single Package

POST https://api.repoflow.io/1/workspaces/<workspace-ref>/repositories/<repository-ref>/packages/single

Upload a single package to a repository. You can include multiple files if they belong to the same package and version (for example, Maven .jar with pom.xml, or Conan recipe and binary files).

This endpoint works only with local repositories, or with virtual repositories that have a local repository configured as their upload target.

Minimum Permission: Can manage, Can Deploy • Authentication Not Required

Path Parameters

workspace-refstringRequired

Workspace ID or name.

repository-refstringRequired

Repository ID or name.

Form Data

packageFilesfile[]Required

File(s) to upload, provided as form-data.

packageNamestringOptional

Repository-specific requirements:

  • Universal: Required. May include multiple path segments, such as team/platform/tool. It must not start or end with /, contain consecutive /, or exceed 500 characters.
  • Conan: Required only when RepoFlow cannot detect the name from conanfile.py. You may include a user and channel using name@user/channel, such as zlib@mycompany/stable.
packageVersionstringOptional

Repository-specific requirements:

  • Universal and Composer: Required.
  • Conan: Required only when RepoFlow cannot detect the version from conanfile.py.
  • Maven: Required only when the POM project version contains an unresolved property expression such as ${revision}, ${sha1}, or ${changelist}. Omit it for a concrete POM version.
debianRepositoryComponentstringOptional

Debian repository component. Allowed: main, restricted, universe, multiverse.

debianDistributionstringOptional

Debian distribution (trusty, xenial, bionic, focal, jammy, noble, resolute, buster, bullseye, bookworm, trixie, stable).

conanPackageIdstringOptional

Conan binary package ID. Required only when uploading conan_package.tgz without conaninfo.txt.