Cloudsmith repos API
The repos API from Cloudsmith — 59 operation(s) for repos.
The repos API from Cloudsmith — 59 operation(s) for repos.
swagger: '2.0'
info:
title: Cloudsmith API (v1) audit-log repos API
description: The API to the Cloudsmith Service
termsOfService: https://help.cloudsmith.io
contact:
name: Cloudsmith Support
url: https://help.cloudsmith.io
email: support@cloudsmith.io
license:
name: MIT
url: https://opensource.org/licenses/MIT
version: v1
host: api.cloudsmith.io
basePath: /
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- apikey: []
- basic: []
tags:
- name: repos
paths:
/repos/:
parameters: []
get:
operationId: repos_user_list
summary: Get a list of all repositories associated with current user.
description: Get a list of all repositories associated with current user.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
type: integer
responses:
'200':
description: Retrieved the list of repositories
schema:
type: array
items:
$ref: '#/definitions/Repository'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
x-simplified: fields[repositories]=created_at,deleted_at,description,distributes,name,namespace,num_downloads,num_quarantined_packages,num_policy_violated_packages,open_source_license,open_source_project_url,package_count,package_group_count,repository_type_str,size,slug,slug_perm,storage_region
/repos/{owner}/:
parameters:
- name: owner
in: path
required: true
type: string
get:
operationId: repos_namespace_list
summary: Get a list of all repositories within a namespace.
description: Get a list of all repositories within a namespace.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
type: integer
- name: query
in: query
description: 'A search term for querying repositories. Available options are: name, slug. Explicit filters: broadcast_state, repository_type.'
required: false
type: string
default: ''
- name: sort
in: query
description: A field for sorting objects in ascending or descending order.
required: false
type: string
default: -created_at
responses:
'200':
description: Retrieved the list of repositories
schema:
type: array
items:
$ref: '#/definitions/Repository'
'404':
description: Owner namespace not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
x-simplified: fields[repositories]=created_at,deleted_at,description,distributes,name,namespace,num_downloads,num_quarantined_packages,num_policy_violated_packages,open_source_license,open_source_project_url,package_count,package_group_count,repository_type_str,size,slug,slug_perm,storage_region
post:
operationId: repos_create
summary: Create a new repository in a given namespace.
description: Create a new repository in a given namespace.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryCreateRequest'
responses:
'201':
description: The repository was created.
schema:
$ref: '#/definitions/RepositoryCreate'
'404':
description: Owner namespace not found.
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
get:
operationId: repos_read
summary: Get a specific repository.
description: Get a specific repository.
parameters: []
responses:
'200':
description: Retrieved the specified repository
schema:
$ref: '#/definitions/Repository'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
x-simplified: fields[repositories]=created_at,deleted_at,description,distributes,name,namespace,num_downloads,num_quarantined_packages,num_policy_violated_packages,open_source_license,open_source_project_url,package_count,package_group_count,repository_type_str,size,slug,slug_perm,storage_region
patch:
operationId: repos_partial_update
summary: Update details about a repository in a given namespace.
description: Update details about a repository in a given namespace.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryRequestPatch'
responses:
'200':
description: The repository was updated.
schema:
$ref: '#/definitions/Repository'
'404':
description: Unable to find repository with that name in the provided namespace.
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
delete:
operationId: repos_delete
description: Delete a repository in a given namespace.Repositories are soft-deleted and can be restored within a retention period. During this time, the repository's slug remains reserved and cannot be reused for new repositories.
parameters: []
responses:
'200':
description: The repository has been scheduled for deletion.
'404':
description: Unable to find repository with that name in the provided namespace.
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/ecdsa/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
get:
operationId: repos_ecdsa_list
summary: Retrieve the active ECDSA key for the Repository.
description: Retrieve the active ECDSA key for the Repository.
parameters: []
responses:
'200':
description: Retrieved the active ECDSA key.
schema:
$ref: '#/definitions/RepositoryEcdsaKey'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
post:
operationId: repos_ecdsa_create
summary: Set the active ECDSA key for the Repository.
description: Set the active ECDSA key for the Repository.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryEcdsaKeyCreate'
responses:
'200':
description: The provided ECDSA key is the same as the current ECDSA key.
schema:
$ref: '#/definitions/RepositoryEcdsaKey'
'201':
description: The provided ECDSA key was assigned to the Repository.
schema:
$ref: '#/definitions/RepositoryEcdsaKey'
'400':
description: The provided ECDSA key is not valid
schema:
$ref: '#/definitions/ErrorDetail'
'402':
description: Custom ECDSA keys are not active; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Organization/Repository does not exist, or you do not have permissions.
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/ecdsa/regenerate/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
post:
operationId: repos_ecdsa_regenerate
summary: Regenerate ECDSA Key for the Repository.
description: Regenerate ECDSA Key for the Repository.
parameters: []
responses:
'200':
description: An ECDSA key was generated for the Repository.
schema:
$ref: '#/definitions/RepositoryEcdsaKey'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/geoip:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
get:
operationId: repos_geoip_read
summary: List all repository geoip rules.
description: List all repository geoip rules.
parameters: []
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RepositoryGeoIpRules'
'402':
description: Geo/IP restrictions are not available; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
put:
operationId: repos_geoip_update
summary: Replace repository geoip rules.
description: Replace repository geoip rules.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryGeoIpRulesRequest'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RepositoryGeoIpRules'
'402':
description: Geo/IP restrictions are not available; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
patch:
operationId: repos_geoip_partial_update
summary: Partially update repository geoip rules.
description: Partially update repository geoip rules.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryGeoIpRulesRequestPatch'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/RepositoryGeoIpRules'
'402':
description: Geo/IP restrictions are not available; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/geoip/disable/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
post:
operationId: repos_geoip_disable
summary: Disable GeoIP for this repository.
description: Disable GeoIP for this repository.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RespositoryGeoIpEnableDisableRequest'
responses:
'200':
description: GeoIP has been disabled for this repository.
'402':
description: Geo/IP restrictions are not available; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/geoip/enable/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
post:
operationId: repos_geoip_enable
summary: Enable GeoIP for this repository.
description: Enable GeoIP for this repository.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RespositoryGeoIpEnableDisableRequest'
responses:
'200':
description: GeoIP has been enabled for this repository.
'402':
description: Geo/IP restrictions are not available; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/geoip/status/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
get:
operationId: api_repos_geoip_status
summary: Retrieve the GeoIP status for this repository.
description: Retrieve the GeoIP status for this repository.
parameters: []
responses:
'200':
description: Retrieved the GeoIP status for this repository.
schema:
$ref: '#/definitions/RepositoryGeoIpStatus'
'402':
description: Geo/IP restrictions are not available; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/geoip/test/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
post:
operationId: repos_geoip_test
summary: Test a list of IP addresses against the repository's current GeoIP rules.
description: Test a list of IP addresses against the repository's current GeoIP rules.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryGeoIpTestAddress'
responses:
'201':
description: Successfuly tested addresses against the repository's GeoIP rules
schema:
$ref: '#/definitions/RepositoryGeoIpTestAddressResponse'
'402':
description: Geo/IP restrictions are not available; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/gpg/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
get:
operationId: repos_gpg_list
summary: Retrieve the active GPG key for the Repository.
description: Retrieve the active GPG key for the Repository.
parameters: []
responses:
'200':
description: Retrieved the active GPG key.
schema:
$ref: '#/definitions/RepositoryGpgKey'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
post:
operationId: repos_gpg_create
summary: Set the active GPG key for the Repository.
description: Set the active GPG key for the Repository.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryGpgKeyCreate'
responses:
'200':
description: The provided GPG key is the same as the current GPG key.
schema:
$ref: '#/definitions/RepositoryGpgKey'
'201':
description: The provided GPG key was assigned to the Repository.
schema:
$ref: '#/definitions/RepositoryGpgKey'
'400':
description: The provided GPG key is not valid
schema:
$ref: '#/definitions/ErrorDetail'
'402':
description: Custom GPG keys are not active; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Organization/Repository does not exist, or you do not have permissions.
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/gpg/regenerate/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
post:
operationId: repos_gpg_regenerate
summary: Regenerate GPG Key for the Repository.
description: Regenerate GPG Key for the Repository.
parameters: []
responses:
'200':
description: A GPG key was generated for the Repository.
schema:
$ref: '#/definitions/RepositoryGpgKey'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/privileges:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
get:
operationId: repos_privileges_list
summary: List all explicity created privileges for the repository.
description: List all explicity created privileges for the repository.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
type: integer
responses:
'200':
description: Retrieved privileges for the specified repository
schema:
$ref: '#/definitions/RepositoryPrivilegeInput'
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
put:
operationId: repos_privileges_update
summary: Replace all existing repository privileges with those specified.
description: Replace all existing repository privileges with those specified.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryPrivilegeInputRequest'
responses:
'204':
description: Repository privileges replaced
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
patch:
operationId: repos_privileges_partial_update
summary: Modify privileges for the repository.
description: Modify privileges for the repository.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryPrivilegeInputRequestPatch'
responses:
'204':
description: Repository privileges updated
'404':
description: Owner namespace or repository not found
schema:
$ref: '#/definitions/ErrorDetail'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/rsa/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
get:
operationId: repos_rsa_list
summary: Retrieve the active RSA key for the Repository.
description: Retrieve the active RSA key for the Repository.
parameters: []
responses:
'200':
description: Retrieved the active RSA key.
schema:
$ref: '#/definitions/RepositoryRsaKey'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
post:
operationId: repos_rsa_create
summary: Set the active RSA key for the Repository.
description: Set the active RSA key for the Repository.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/RepositoryRsaKeyCreate'
responses:
'200':
description: The provided RSA key is the same as the current RSA key.
schema:
$ref: '#/definitions/RepositoryRsaKey'
'201':
description: The provided RSA key was assigned to the Repository.
schema:
$ref: '#/definitions/RepositoryRsaKey'
'400':
description: The provided RSA key is not valid
schema:
$ref: '#/definitions/ErrorDetail'
'402':
description: Custom RSA keys are not active; upgrade your account!
schema:
$ref: '#/definitions/ErrorDetail'
'404':
description: Organization/Repository does not exist, or you do not have permissions.
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/rsa/regenerate/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
post:
operationId: repos_rsa_regenerate
summary: Regenerate RSA Key for the Repository.
description: Regenerate RSA Key for the Repository.
parameters: []
responses:
'200':
description: An RSA key was generated for the Repository.
schema:
$ref: '#/definitions/RepositoryRsaKey'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/upstream/alpine/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
get:
operationId: repos_upstream_alpine_list
summary: List Alpine upstream configs for this repository.
description: List Alpine upstream configs for this repository.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
type: integer
responses:
'200':
description: OK
schema:
type: array
items:
$ref: '#/definitions/AlpineUpstream'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
x-simplified: fields[upstreams]=auth_mode,available,created_at,disable_reason_text,has_failed_signature_verification,is_active,name,mode,pending_validation,slug_perm,upstream_url,verify_ssl
post:
operationId: repos_upstream_alpine_create
summary: Create an Alpine upstream config for this repository.
description: Create an Alpine upstream config for this repository.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/AlpineUpstreamRequest'
responses:
'201':
description: Created
schema:
$ref: '#/definitions/AlpineUpstream'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
/repos/{owner}/{identifier}/upstream/alpine/{slug_perm}/:
parameters:
- name: owner
in: path
required: true
type: string
- name: identifier
in: path
required: true
type: string
- name: slug_perm
in: path
required: true
type: string
get:
operationId: repos_upstream_alpine_read
summary: Retrieve an Alpine upstream config for this repository.
description: Retrieve an Alpine upstream config for this repository.
parameters: []
responses:
'200':
description: OK
schema:
$ref: '#/definitions/AlpineUpstream'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid parameters (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
tags:
- repos
x-simplified: fields[upstreams]=auth_mode,available,created_at,disable_reason_text,has_failed_signature_verification,is_active,name,mode,pending_validation,slug_perm,upstream_url,verify_ssl
put:
operationId: repos_upstream_alpine_update
summary: Update an Alpine upstream config for this repository.
description: Update an Alpine upstream config for this repository.
parameters:
- name: data
in: body
required: false
schema:
$ref: '#/definitions/AlpineUpstreamRequest'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/AlpineUpstream'
'400':
description: Request could not be processed (see detail).
schema:
$ref: '#/definitions/ErrorDetail'
'422':
description: Missing or invalid p
# --- truncated at 32 KB (490 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cloudsmith/refs/heads/main/openapi/cloudsmith-repos-api-openapi.yml