# \RepositoriesApi
All URIs are relative to *http://localhost*
[**add_virtual_member**](RepositoriesApi.md#add_virtual_member) | **POST** /api/v1/repositories/{key}/members | Add a member to a virtual repository
[**create_repository**](RepositoriesApi.md#create_repository) | **POST** /api/v1/repositories | Create a new repository
[**delete_artifact**](RepositoriesApi.md#delete_artifact) | **DELETE** /api/v1/repositories/{key}/artifacts/{path} | Delete artifact
[**delete_pypi_track**](RepositoriesApi.md#delete_pypi_track) | **DELETE** /api/v1/repositories/{key}/pypi-tracks/{project} | Remove a PEP 708 `tracks` declaration, restoring local-precedence isolation for that project name (#1600).
[**delete_repository**](RepositoriesApi.md#delete_repository) | **DELETE** /api/v1/repositories/{key} | Delete repository
[**delete_routing_rules**](RepositoriesApi.md#delete_routing_rules) | **DELETE** /api/v1/repositories/{key}/routing-rules | Delete all routing rules for a repository
[**download_artifact**](RepositoriesApi.md#download_artifact) | **GET** /api/v1/repositories/{key}/download/{path} | Download artifact
[**get_cache_ttl**](RepositoriesApi.md#get_cache_ttl) | **GET** /api/v1/repositories/{key}/cache-ttl | Get the proxy cache TTL for a repository
[**get_content**](RepositoriesApi.md#get_content) | **GET** /api/v1/tree/content |
[**get_repository**](RepositoriesApi.md#get_repository) | **GET** /api/v1/repositories/{key} | Get repository details
[**get_repository_artifact_metadata**](RepositoriesApi.md#get_repository_artifact_metadata) | **GET** /api/v1/repositories/{key}/artifacts/{path} | Get artifact metadata
[**get_routing_rules**](RepositoriesApi.md#get_routing_rules) | **GET** /api/v1/repositories/{key}/routing-rules | Get routing rules for a repository
[**get_tree**](RepositoriesApi.md#get_tree) | **GET** /api/v1/tree |
[**invalidate_cache**](RepositoriesApi.md#invalidate_cache) | **POST** /api/v1/repositories/{key}/cache/invalidate | Invalidate a single cached artifact entry on a Remote (proxy) repository (#1539).
[**list_artifacts**](RepositoriesApi.md#list_artifacts) | **GET** /api/v1/repositories/{key}/artifacts | List artifacts in repository
[**list_pypi_tracks**](RepositoriesApi.md#list_pypi_tracks) | **GET** /api/v1/repositories/{key}/pypi-tracks | List the PEP 708 `tracks` declarations on a repository.
[**list_repositories**](RepositoriesApi.md#list_repositories) | **GET** /api/v1/repositories | List repositories
[**list_virtual_members**](RepositoriesApi.md#list_virtual_members) | **GET** /api/v1/repositories/{key}/members | List virtual repository members
[**put_pypi_track**](RepositoriesApi.md#put_pypi_track) | **PUT** /api/v1/repositories/{key}/pypi-tracks/{project} | Declare (upsert) that a locally-owned PyPI project tracks an upstream one, allowing a virtual repository to merge versions across members for that name instead of isolating it (PEP 708, #1600).
[**remove_virtual_member**](RepositoriesApi.md#remove_virtual_member) | **DELETE** /api/v1/repositories/{key}/members/{member_key} | Remove a member from a virtual repository
[**set_cache_ttl**](RepositoriesApi.md#set_cache_ttl) | **PUT** /api/v1/repositories/{key}/cache-ttl | Set the proxy cache TTL for a repository
[**set_routing_rules**](RepositoriesApi.md#set_routing_rules) | **POST** /api/v1/repositories/{key}/routing-rules | Set routing rules for a repository
[**set_upstream_auth**](RepositoriesApi.md#set_upstream_auth) | **PUT** /api/v1/repositories/{key}/upstream-auth | Set or remove upstream auth for a remote repository
[**test_upstream**](RepositoriesApi.md#test_upstream) | **POST** /api/v1/repositories/{key}/test-upstream | Test connectivity to the upstream URL of a remote repository
[**update_repository**](RepositoriesApi.md#update_repository) | **PATCH** /api/v1/repositories/{key} | Update repository
[**update_virtual_members**](RepositoriesApi.md#update_virtual_members) | **PUT** /api/v1/repositories/{key}/members | Update priorities for all members (bulk reorder)
[**upload_artifact**](RepositoriesApi.md#upload_artifact) | **PUT** /api/v1/repositories/{key}/artifacts/{path} | Upload artifact
## add_virtual_member
> models::VirtualMemberResponse add_virtual_member(key, add_virtual_member_request)
Add a member to a virtual repository
### Parameters
**key** | **String** | Repository key | [required] |
**add_virtual_member_request** | [**AddVirtualMemberRequest**](AddVirtualMemberRequest.md) | | [required] |
### Return type
[**models::VirtualMemberResponse**](VirtualMemberResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## create_repository
> models::RepositoryResponse create_repository(create_repository_request)
Create a new repository
### Parameters
**create_repository_request** | [**CreateRepositoryRequest**](CreateRepositoryRequest.md) | | [required] |
### Return type
[**models::RepositoryResponse**](RepositoryResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_artifact
> delete_artifact(key, path)
Delete artifact
### Parameters
**key** | **String** | Repository key | [required] |
**path** | **String** | Artifact path | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_pypi_track
> delete_pypi_track(key, project)
Remove a PEP 708 `tracks` declaration, restoring local-precedence isolation for that project name (#1600).
### Parameters
**key** | **String** | Repository key | [required] |
**project** | **String** | Project name (PEP 503 normalized server-side) | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_repository
> delete_repository(key)
Delete repository
### Parameters
**key** | **String** | Repository key | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_routing_rules
> delete_routing_rules(key)
Delete all routing rules for a repository
### Parameters
**key** | **String** | Repository key | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## download_artifact
> download_artifact(key, path)
Download artifact
### Parameters
**key** | **String** | Repository key | [required] |
**path** | **String** | Artifact path | [required] |
### Return type
(empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/octet-stream
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_cache_ttl
> models::CacheTtlResponse get_cache_ttl(key)
Get the proxy cache TTL for a repository
### Parameters
**key** | **String** | Repository key | [required] |
### Return type
[**models::CacheTtlResponse**](CacheTtlResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_content
> get_content(repository_key, path, max_bytes)
### Parameters
**repository_key** | **String** | Repository key containing the artifact | [required] |
**path** | **String** | Full artifact path within the repository | [required] |
**max_bytes** | Option<**i64**> | Optional maximum number of bytes to return (truncates the response) | |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/octet-stream, application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_repository
> models::RepositoryResponse get_repository(key)
Get repository details
### Parameters
**key** | **String** | Repository key | [required] |
### Return type
[**models::RepositoryResponse**](RepositoryResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_repository_artifact_metadata
> models::ArtifactResponse get_repository_artifact_metadata(key, path)
Get artifact metadata
### Parameters
**key** | **String** | Repository key | [required] |
**path** | **String** | Artifact path | [required] |
### Return type
[**models::ArtifactResponse**](ArtifactResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_routing_rules
> models::RoutingRulesResponse get_routing_rules(key)
Get routing rules for a repository
### Parameters
**key** | **String** | Repository key | [required] |
### Return type
[**models::RoutingRulesResponse**](RoutingRulesResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_tree
> models::TreeResponse get_tree(repository_key, path, include_metadata)
### Parameters
**repository_key** | Option<**String**> | Repository key to browse | |
**path** | Option<**String**> | Path prefix to browse within the repository | |
**include_metadata** | Option<**bool**> | Whether to include metadata in the response | |
### Return type
[**models::TreeResponse**](TreeResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## invalidate_cache
> models::InvalidateCacheResponse invalidate_cache(key, path)
Invalidate a single cached artifact entry on a Remote (proxy) repository (#1539).
Mirrors the auth + repo-access pattern of `set_cache_ttl`. Idempotent: invalidating a path that was never cached (or was already evicted) still returns 200, matching the underlying `ProxyService::invalidate_cache` contract (which ignores delete-of-missing on the storage backend).
### Parameters
**key** | **String** | Repository key | [required] |
**path** | **String** | Artifact path to evict from the proxy cache. Same shape as the path segment of `GET /api/v1/repositories/{key}/artifacts/{path}`. Path-traversal segments such as `..` are rejected by `ProxyService::cache_storage_key` (covered by `test_invalidate_cache_by_key_rejects_invalid_path`). | [required] |
### Return type
[**models::InvalidateCacheResponse**](InvalidateCacheResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_artifacts
> models::ArtifactListResponse list_artifacts(key, page, per_page, q, path_prefix, group_by)
List artifacts in repository
### Parameters
**key** | **String** | Repository key | [required] |
**page** | Option<**i32**> | | |
**per_page** | Option<**i32**> | | |
**q** | Option<**String**> | | |
**path_prefix** | Option<**String**> | | |
**group_by** | Option<**String**> | Server-side artifact grouping. Supported values: - `maven_component`: Maven/Gradle artifacts are grouped by groupId, artifactId, and version. Individual files (jar, pom, checksums) appear in the `artifact_files` array of each component. - `docker_tag`: Docker/OCI artifacts are grouped by (image, tag), with `total_size_bytes` summed across the manifest config and referenced layer blobs. The grouped rows are returned in the `docker_tags` array. | |
### Return type
[**models::ArtifactListResponse**](ArtifactListResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_pypi_tracks
> models::PypiTracksListResponse list_pypi_tracks(key)
List the PEP 708 `tracks` declarations on a repository.
### Parameters
**key** | **String** | Repository key | [required] |
### Return type
[**models::PypiTracksListResponse**](PypiTracksListResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_repositories
> models::RepositoryListResponse list_repositories(page, per_page, format, r#type, q)
List repositories
### Parameters
**page** | Option<**i32**> | | |
**per_page** | Option<**i32**> | | |
**format** | Option<**String**> | | |
**r#type** | Option<**String**> | | |
**q** | Option<**String**> | | |
### Return type
[**models::RepositoryListResponse**](RepositoryListResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_virtual_members
> models::VirtualMembersListResponse list_virtual_members(key)
List virtual repository members
### Parameters
**key** | **String** | Repository key | [required] |
### Return type
[**models::VirtualMembersListResponse**](VirtualMembersListResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## put_pypi_track
> models::PypiTrackResponse put_pypi_track(key, project, pypi_track_request)
Declare (upsert) that a locally-owned PyPI project tracks an upstream one, allowing a virtual repository to merge versions across members for that name instead of isolating it (PEP 708, #1600).
### Parameters
**key** | **String** | Repository key | [required] |
**project** | **String** | Project name (PEP 503 normalized server-side) | [required] |
**pypi_track_request** | [**PypiTrackRequest**](PypiTrackRequest.md) | | [required] |
### Return type
[**models::PypiTrackResponse**](PypiTrackResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## remove_virtual_member
> remove_virtual_member(key, member_key)
Remove a member from a virtual repository
### Parameters
**key** | **String** | Repository key | [required] |
**member_key** | **String** | Member repository key | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## set_cache_ttl
> models::CacheTtlResponse set_cache_ttl(key, set_cache_ttl_request)
Set the proxy cache TTL for a repository
### Parameters
**key** | **String** | Repository key | [required] |
**set_cache_ttl_request** | [**SetCacheTtlRequest**](SetCacheTtlRequest.md) | | [required] |
### Return type
[**models::CacheTtlResponse**](CacheTtlResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## set_routing_rules
> models::RoutingRulesResponse set_routing_rules(key, set_routing_rules_request)
Set routing rules for a repository
Routing rules rewrite the request path before it is forwarded to the upstream server. This is useful for proxying resources like GitHub Releases where the client-facing path structure differs from the upstream URL layout. Rules are evaluated in order and the first match wins.
### Parameters
**key** | **String** | Repository key | [required] |
**set_routing_rules_request** | [**SetRoutingRulesRequest**](SetRoutingRulesRequest.md) | | [required] |
### Return type
[**models::RoutingRulesResponse**](RoutingRulesResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## set_upstream_auth
> set_upstream_auth(key, upstream_auth_request)
Set or remove upstream auth for a remote repository
### Parameters
**key** | **String** | Repository key | [required] |
**upstream_auth_request** | [**UpstreamAuthRequest**](UpstreamAuthRequest.md) | | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## test_upstream
> test_upstream(key)
Test connectivity to the upstream URL of a remote repository
### Parameters
**key** | **String** | Repository key | [required] |
### Return type
(empty response body)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## update_repository
> models::RepositoryResponse update_repository(key, update_repository_request)
Update repository
### Parameters
**key** | **String** | Repository key | [required] |
**update_repository_request** | [**UpdateRepositoryRequest**](UpdateRepositoryRequest.md) | | [required] |
### Return type
[**models::RepositoryResponse**](RepositoryResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## update_virtual_members
> models::VirtualMembersListResponse update_virtual_members(key, update_virtual_members_request)
Update priorities for all members (bulk reorder)
### Parameters
**key** | **String** | Repository key | [required] |
**update_virtual_members_request** | [**UpdateVirtualMembersRequest**](UpdateVirtualMembersRequest.md) | | [required] |
### Return type
[**models::VirtualMembersListResponse**](VirtualMembersListResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## upload_artifact
> models::ArtifactResponse upload_artifact(key, path, request_body)
Upload artifact
### Parameters
**key** | **String** | Repository key | [required] |
**path** | **String** | Artifact path | [required] |
**request_body** | [**Vec<i32>**](i32.md) | | [required] |
### Return type
[**models::ArtifactResponse**](ArtifactResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/octet-stream
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)