Cloudsmith repos API

The repos API from Cloudsmith — 59 operation(s) for repos.

Operations 150

GET /repos/ Get a list of all repositories associated with current user. #
GET /repos/{owner}/ Get a list of all repositories within a namespace. #
POST /repos/{owner}/ Create a new repository in a given namespace. #
GET /repos/{owner}/{identifier}/ Get a specific repository. #
PATCH /repos/{owner}/{identifier}/ Update details about a repository in a given namespace. #
DELETE /repos/{owner}/{identifier}/ #
GET /repos/{owner}/{identifier}/ecdsa/ Retrieve the active ECDSA key for the Repository. #
POST /repos/{owner}/{identifier}/ecdsa/ Set the active ECDSA key for the Repository. #
POST /repos/{owner}/{identifier}/ecdsa/regenerate/ Regenerate ECDSA Key for the Repository. #
GET /repos/{owner}/{identifier}/geoip List all repository geoip rules. #
PUT /repos/{owner}/{identifier}/geoip Replace repository geoip rules. #
PATCH /repos/{owner}/{identifier}/geoip Partially update repository geoip rules. #
POST /repos/{owner}/{identifier}/geoip/disable/ Disable GeoIP for this repository. #
POST /repos/{owner}/{identifier}/geoip/enable/ Enable GeoIP for this repository. #
GET /repos/{owner}/{identifier}/geoip/status/ Retrieve the GeoIP status for this repository. #
POST /repos/{owner}/{identifier}/geoip/test/ Test a list of IP addresses against the repository's current GeoIP rules. #
GET /repos/{owner}/{identifier}/gpg/ Retrieve the active GPG key for the Repository. #
POST /repos/{owner}/{identifier}/gpg/ Set the active GPG key for the Repository. #
POST /repos/{owner}/{identifier}/gpg/regenerate/ Regenerate GPG Key for the Repository. #
GET /repos/{owner}/{identifier}/privileges List all explicity created privileges for the repository. #
PUT /repos/{owner}/{identifier}/privileges Replace all existing repository privileges with those specified. #
PATCH /repos/{owner}/{identifier}/privileges Modify privileges for the repository. #
GET /repos/{owner}/{identifier}/rsa/ Retrieve the active RSA key for the Repository. #
POST /repos/{owner}/{identifier}/rsa/ Set the active RSA key for the Repository. #
POST /repos/{owner}/{identifier}/rsa/regenerate/ Regenerate RSA Key for the Repository. #
GET /repos/{owner}/{identifier}/upstream/alpine/ List Alpine upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/alpine/ Create an Alpine upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/alpine/{slug_perm}/ Retrieve an Alpine upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/alpine/{slug_perm}/ Update an Alpine upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/alpine/{slug_perm}/ Partially update an Alpine upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/alpine/{slug_perm}/ Delete an Alpine upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/cargo/ List Cargo upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/cargo/ Create a Cargo upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ Retrieve a Cargo upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ Update a Cargo upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ Partially update a Cargo upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ Delete a Cargo upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/composer/ List Composer upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/composer/ Create a Composer upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/composer/{slug_perm}/ Retrieve a Composer upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/composer/{slug_perm}/ Update a Composer upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/composer/{slug_perm}/ Partially update a Composer upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/composer/{slug_perm}/ Delete a Composer upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/conda/ List Conda upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/conda/ Create a Conda upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/conda/{slug_perm}/ Retrieve a Conda upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/conda/{slug_perm}/ Update a Conda upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/conda/{slug_perm}/ Partially update a Conda upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/conda/{slug_perm}/ Delete a Conda upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/cran/ List CRAN upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/cran/ Create a CRAN upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/cran/{slug_perm}/ Retrieve a CRAN upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/cran/{slug_perm}/ Update a CRAN upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/cran/{slug_perm}/ Partially update a CRAN upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/cran/{slug_perm}/ Delete a CRAN upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/dart/ List Dart upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/dart/ Create a Dart upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/dart/{slug_perm}/ Retrieve a Dart upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/dart/{slug_perm}/ Update a Dart upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/dart/{slug_perm}/ Partially update a Dart upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/dart/{slug_perm}/ Delete a Dart upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/deb/ List Debian upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/deb/ Create a Debian upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/deb/{slug_perm}/ Retrieve a Debian upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/deb/{slug_perm}/ Update a Debian upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/deb/{slug_perm}/ Partially update a Debian upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/deb/{slug_perm}/ Delete a Debian upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/docker/ List Docker upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/docker/ Create a Docker upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ Retrieve a Docker upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ Update a Docker upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ Partially update a Docker upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ Delete a Docker upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/generic/ List Generic upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/generic/ Create a Generic upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/generic/{slug_perm}/ Retrieve a Generic upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/generic/{slug_perm}/ Update a Generic upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/generic/{slug_perm}/ Partially update a Generic upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/generic/{slug_perm}/ Delete a Generic upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/go/ List Go upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/go/ Create a Go upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ Retrieve a Go upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ Update a Go upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ Partially update a Go upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ Delete a Go upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/helm/ List Helm upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/helm/ Create a Helm upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/helm/{slug_perm}/ Retrieve a Helm upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/helm/{slug_perm}/ Update a Helm upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/helm/{slug_perm}/ Partially update a Helm upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/helm/{slug_perm}/ Delete a Helm upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/hex/ List Hex upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/hex/ Create a Hex upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/hex/{slug_perm}/ Retrieve a Hex upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/hex/{slug_perm}/ Update a Hex upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/hex/{slug_perm}/ Partially update a Hex upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/hex/{slug_perm}/ Delete a Hex upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/huggingface/ List HuggingFace upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/huggingface/ Create a HuggingFace upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/huggingface/{slug_perm}/ Retrieve a HuggingFace upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/huggingface/{slug_perm}/ Update a HuggingFace upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/huggingface/{slug_perm}/ Partially update a HuggingFace upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/huggingface/{slug_perm}/ Delete a HuggingFace upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/maven/ List Maven upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/maven/ Create a Maven upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/maven/{slug_perm}/ Retrieve a Maven upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/maven/{slug_perm}/ Update a Maven upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/maven/{slug_perm}/ Partially update a Maven upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/maven/{slug_perm}/ Delete a Maven upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/npm/ List npm upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/npm/ Create a npm upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/npm/{slug_perm}/ Retrieve a npm upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/npm/{slug_perm}/ Update a npm upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/npm/{slug_perm}/ Partially update a npm upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/npm/{slug_perm}/ Delete a npm upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/nuget/ List NuGet upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/nuget/ Create a NuGet upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/nuget/{slug_perm}/ Retrieve a NuGet upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/nuget/{slug_perm}/ Update a NuGet upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/nuget/{slug_perm}/ Partially update a NuGet upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/nuget/{slug_perm}/ Delete a NuGet upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/python/ List Python upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/python/ Create a Python upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/python/{slug_perm}/ Retrieve a Python upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/python/{slug_perm}/ Update a Python upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/python/{slug_perm}/ Partially update a Python upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/python/{slug_perm}/ Delete a Python upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/rpm/ List RedHat upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/rpm/ Create a RedHat upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/rpm/{slug_perm}/ Retrieve a RedHat upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/rpm/{slug_perm}/ Update a RedHat upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/rpm/{slug_perm}/ Partially update a RedHat upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/rpm/{slug_perm}/ Delete a RedHat upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/ruby/ List Ruby upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/ruby/ Create a Ruby upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/ruby/{slug_perm}/ Retrieve a Ruby upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/ruby/{slug_perm}/ Update a Ruby upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/ruby/{slug_perm}/ Partially update a Ruby upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/ruby/{slug_perm}/ Delete a Ruby upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/swift/ List Swift upstream configs for this repository. #
POST /repos/{owner}/{identifier}/upstream/swift/ Create a Swift upstream config for this repository. #
GET /repos/{owner}/{identifier}/upstream/swift/{slug_perm}/ Retrieve a Swift upstream config for this repository. #
PUT /repos/{owner}/{identifier}/upstream/swift/{slug_perm}/ Update a Swift upstream config for this repository. #
PATCH /repos/{owner}/{identifier}/upstream/swift/{slug_perm}/ Partially update a Swift upstream config for this repository. #
DELETE /repos/{owner}/{identifier}/upstream/swift/{slug_perm}/ Delete a Swift upstream config for this repository. #
GET /repos/{owner}/{identifier}/x509-ecdsa/ Retrieve the active X.509 ECDSA certificate for the Repository. #
GET /repos/{owner}/{identifier}/x509-rsa/ Retrieve the active X.509 RSA certificate for the Repository. #
GET /repos/{owner}/{repo}/retention/ Retrieve the retention rules for the repository. #
PATCH /repos/{owner}/{repo}/retention/ Update the retention rules for the repository. #
POST /repos/{owner}/{repo}/transfer-region/ Transfer a repository to a different region. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudsmith-repos-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cloudsmith-repos-api-openapi.yml Raw ↑
openapi: 3.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
servers:
- url: https://api.cloudsmith.io/
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
        schema:
          type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Retrieved the list of repositories
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Repository'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
      schema:
        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
        schema:
          type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          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
        schema:
          type: string
          default: ''
      - name: sort
        in: query
        description: A field for sorting objects in ascending or descending order.
        required: false
        schema:
          type: string
          default: -created_at
      responses:
        '200':
          description: Retrieved the list of repositories
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Repository'
        '404':
          description: Owner namespace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
      responses:
        '201':
          description: The repository was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryCreate'
        '404':
          description: Owner namespace not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryCreateRequest'
  /repos/{owner}/{identifier}/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: repos_read
      summary: Get a specific repository.
      description: Get a specific repository.
      responses:
        '200':
          description: Retrieved the specified repository
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Repository'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
      responses:
        '200':
          description: The repository was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Repository'
        '404':
          description: Unable to find repository with that name in the provided namespace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryRequestPatch'
    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.
      responses:
        '200':
          description: The repository has been scheduled for deletion.
        '404':
          description: Unable to find repository with that name in the provided namespace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
  /repos/{owner}/{identifier}/ecdsa/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        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.
      responses:
        '200':
          description: Retrieved the active ECDSA key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryEcdsaKey'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
      responses:
        '200':
          description: The provided ECDSA key is the same as the current ECDSA key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryEcdsaKey'
        '201':
          description: The provided ECDSA key was assigned to the Repository.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryEcdsaKey'
        '400':
          description: The provided ECDSA key is not valid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '402':
          description: Custom ECDSA keys are not active; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Organization/Repository does not exist, or you do not have permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryEcdsaKeyCreate'
  /repos/{owner}/{identifier}/ecdsa/regenerate/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        type: string
    post:
      operationId: repos_ecdsa_regenerate
      summary: Regenerate ECDSA Key for the Repository.
      description: Regenerate ECDSA Key for the Repository.
      responses:
        '200':
          description: An ECDSA key was generated for the Repository.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryEcdsaKey'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
  /repos/{owner}/{identifier}/geoip:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: repos_geoip_read
      summary: List all repository geoip rules.
      description: List all repository geoip rules.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGeoIpRules'
        '402':
          description: Geo/IP restrictions are not available; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
    put:
      operationId: repos_geoip_update
      summary: Replace repository geoip rules.
      description: Replace repository geoip rules.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGeoIpRules'
        '402':
          description: Geo/IP restrictions are not available; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryGeoIpRulesRequest'
    patch:
      operationId: repos_geoip_partial_update
      summary: Partially update repository geoip rules.
      description: Partially update repository geoip rules.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGeoIpRules'
        '402':
          description: Geo/IP restrictions are not available; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryGeoIpRulesRequestPatch'
  /repos/{owner}/{identifier}/geoip/disable/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        type: string
    post:
      operationId: repos_geoip_disable
      summary: Disable GeoIP for this repository.
      description: Disable GeoIP for this repository.
      responses:
        '200':
          description: GeoIP has been disabled for this repository.
        '402':
          description: Geo/IP restrictions are not available; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RespositoryGeoIpEnableDisableRequest'
  /repos/{owner}/{identifier}/geoip/enable/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        type: string
    post:
      operationId: repos_geoip_enable
      summary: Enable GeoIP for this repository.
      description: Enable GeoIP for this repository.
      responses:
        '200':
          description: GeoIP has been enabled for this repository.
        '402':
          description: Geo/IP restrictions are not available; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RespositoryGeoIpEnableDisableRequest'
  /repos/{owner}/{identifier}/geoip/status/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: api_repos_geoip_status
      summary: Retrieve the GeoIP status for this repository.
      description: Retrieve the GeoIP status for this repository.
      responses:
        '200':
          description: Retrieved the GeoIP status for this repository.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGeoIpStatus'
        '402':
          description: Geo/IP restrictions are not available; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
  /repos/{owner}/{identifier}/geoip/test/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        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.
      responses:
        '201':
          description: Successfuly tested addresses against the repository's GeoIP rules
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGeoIpTestAddressResponse'
        '402':
          description: Geo/IP restrictions are not available; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryGeoIpTestAddress'
  /repos/{owner}/{identifier}/gpg/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        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.
      responses:
        '200':
          description: Retrieved the active GPG key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGpgKey'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
      responses:
        '200':
          description: The provided GPG key is the same as the current GPG key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGpgKey'
        '201':
          description: The provided GPG key was assigned to the Repository.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGpgKey'
        '400':
          description: The provided GPG key is not valid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '402':
          description: Custom GPG keys are not active; upgrade your account!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '404':
          description: Organization/Repository does not exist, or you do not have permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryGpgKeyCreate'
  /repos/{owner}/{identifier}/gpg/regenerate/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        type: string
    post:
      operationId: repos_gpg_regenerate
      summary: Regenerate GPG Key for the Repository.
      description: Regenerate GPG Key for the Repository.
      responses:
        '200':
          description: A GPG key was generated for the Repository.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryGpgKey'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
  /repos/{owner}/{identifier}/privileges:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        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
        schema:
          type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Retrieved privileges for the specified repository
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryPrivilegeInput'
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
      responses:
        '204':
          description: Repository privileges replaced
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryPrivilegeInputRequest'
    patch:
      operationId: repos_privileges_partial_update
      summary: Modify privileges for the repository.
      description: Modify privileges for the repository.
      responses:
        '204':
          description: Repository privileges updated
        '404':
          description: Owner namespace or repository not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryPrivilegeInputRequestPatch'
  /repos/{owner}/{identifier}/rsa/:
    parameters:
    - name: owner
      in: path
      required: true
      schema:
        type: string
    - name: identifier
      in: path
      required: true
      schema:
        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.
      responses:
        '200':
          description: Retrieved the active RSA key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryRsaKey'
        '400':
          description: Request could not be processed (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetail'
      tags:
      - repos
    post:
      op

# --- truncated at 32 KB (540 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cloudsmith/refs/heads/main/openapi/cloudsmith-repos-api-openapi.yml