Skip to main content

Create Repository

Creating a repository is split into three APIs: local, remote, and virtual.

Allowed Roles: Workspace Admin or System Admin • Authentication Required

Path Parameters

workspace-refstringRequired

Workspace ID or name.

Local Repository

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

Create a repository that stores packages locally.

Body

namestringRequired

Repository name (2-30 chars, lowercase letters, numbers, -).

packageTypestringRequired

Package type stored by the repository. One of: cargo, composer, debian, docker, gems, go, helm, maven, npm, nuget, pypi, rpm, universal.

Remote Repository

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

Proxy a remote repository and optionally enable caching.

Body

namestringRequired

Repository name (2-30 chars, only English letters, numbers, -).

packageTypestringRequired

Package type stored by the repository. One of: cargo, composer, debian, docker, gems, go, helm, maven, npm, nuget, pypi, rpm, universal.

remoteRepositoryUrlstringRequired

URL of the remote repository.

remoteRepositoryUsernamestringOptional

Username for the remote repository.

remoteRepositoryPasswordstringOptional

Password for the remote repository.

isRemoteCacheEnabledbooleanRequired

Whether caching is enabled.

fileCacheTimeTillRevalidationnumber | nullOptional

Milliseconds before cached files require revalidation (null for indefinite caching).

metadataCacheTimeTillRevalidationnumber | nullOptional

Milliseconds before cached metadata requires revalidation (null for indefinite caching).

Virtual Repository

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

Combine multiple repositories under one virtual repository and optionally set an upload target.

Body

namestringRequired

Repository name (2-30 chars, only English letters, numbers, -).

packageTypestringRequired

Package type stored by the repository. One of: cargo, composer, debian, docker, gems, go, helm, maven, npm, nuget, pypi, rpm, universal.

childRepositoryIdsstring[]Required

IDs of repositories included in the virtual repository.

uploadLocalRepositoryIdstringOptional

ID of a local repository where uploads will be stored (must also be in childRepositoryIds).