Cloudsmith recycle-bin API
The recycle-bin API from Cloudsmith — 2 operation(s) for recycle-bin.
The recycle-bin API from Cloudsmith — 2 operation(s) for recycle-bin.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/cloudsmith-recycle-bin-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Cloudsmith API (v1) audit-log Recycle Bin 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: recycle-bin
paths:
/recycle-bin/{owner}/:
parameters:
- name: owner
in: path
required: true
schema:
type: string
get:
operationId: recycle-bin_list
summary: List soft-deleted packages in recycle bin
description: Retrieve all soft-deleted packages in the workspace. Optionally filter by repository using the 'repository' query parameter.
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: repository
in: query
description: Filter packages by repository slug
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RecycleBinPackage'
'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:
- recycle-bin
/recycle-bin/{owner}/action/:
parameters:
- name: owner
in: path
required: true
schema:
type: string
post:
operationId: recycle-bin_action
description: 'Perform actions on soft-deleted packages in the recycle bin. Supported actions: permanently delete (hard delete), restore. Returns a list of successfully actioned packages and any packages that failed with error details. '
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PackageBulkActionResponse'
'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:
- recycle-bin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PackageRecycleBin'
components:
schemas:
PackageRecycleBin:
required:
- action
- identifiers
type: object
properties:
action:
title: Action
description: The action to perform on soft-deleted packages.
type: string
enum:
- hard_delete
- restore
identifiers:
description: A list of soft-deleted package identifiers to action.
type: array
items:
type: string
maxLength: 255
minLength: 1
maxItems: 100
minItems: 1
repository:
title: Repository
description: The repository name to filter packages to. If not provided, the action will be performed across all accessible repositories in the workspace.
type: string
maxLength: 255
minLength: 1
PackageBulkActionResponse:
type: object
properties:
action:
title: Action
description: The action that was performed.
type: string
readOnly: true
minLength: 1
packages_actioned:
description: List of package identifiers that were successfully actioned.
type: array
items:
type: string
minLength: 1
readOnly: true
packages_failed_to_action:
title: Packages failed to action
description: Dictionary of package identifiers that failed with their error details.
type: object
additionalProperties:
type: object
additionalProperties:
type:
- string
- 'null'
readOnly: true
ErrorDetail:
required:
- detail
type: object
properties:
detail:
title: Detail
description: An extended message for the response.
type: string
minLength: 1
fields:
title: Fields
description: 'A Dictionary of related errors where key: Field and value: Array of Errors related to that field'
type: object
additionalProperties:
type: array
items:
type: string
minLength: 1
Tags:
description: All tags on the package, grouped by tag type. This includes immutable tags, but doesn't distinguish them from mutable. To see which tags are immutable specifically, see the tags_immutable field.
type: object
properties: {}
RecycleBinPackage:
type: object
properties:
action_by:
title: Action by
description: The name of the user who deleted the package.
type:
- string
- 'null'
readOnly: true
minLength: 1
downloads:
title: Downloads
type: integer
readOnly: true
filename:
title: Filename
type: string
readOnly: true
minLength: 1
format:
title: Format
type: string
readOnly: true
minLength: 1
fully_qualified_name:
title: Fully qualified name
description: The fully qualified name of the package.
type: string
readOnly: true
minLength: 1
identifiers:
title: Identifiers
type: object
additionalProperties:
type:
- string
- 'null'
readOnly: true
invoked_retention_rule:
title: Invoked retention rule
description: Information about the retention rule that triggered deletion (if any).
type:
- object
- 'null'
additionalProperties:
type:
- string
- 'null'
readOnly: true
is_deleteable:
title: Is deleteable
type: boolean
readOnly: true
is_quarantined:
title: Is quarantined
type: boolean
readOnly: true
is_restorable:
title: Is restorable
type: boolean
readOnly: true
name:
title: Name
description: The name of this package.
type:
- string
- 'null'
readOnly: true
policy_violated:
title: Policy violated
description: Whether or not the package has violated any policy.
type: boolean
readOnly: true
repository:
title: Repository
type: string
readOnly: true
minLength: 1
security_scan_completed_at:
title: Security scan completed at
description: The datetime the security scanning was completed.
type:
- string
- 'null'
format: date-time
readOnly: true
security_scan_status:
title: Security scan status
type:
- string
- 'null'
enum:
- Awaiting Security Scan
- Security Scanning in Progress
- Scan Detected Vulnerabilities
- Scan Detected No Vulnerabilities
- Security Scanning Disabled
- Security Scanning Failed
- Security Scanning Skipped
- Security Scanning Not Supported
readOnly: true
default: Awaiting Security Scan
size:
title: Size
description: The calculated size of the package.
type: integer
readOnly: true
slug_perm:
title: Slug perm
type: string
format: slug
pattern: ^[-a-zA-Z0-9_]+$
readOnly: true
minLength: 1
status:
title: Status
description: The synchronisation status of the package.
type: integer
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
readOnly: true
status_updated_at:
title: Status updated at
description: The datetime the package status was updated at.
type: string
format: date-time
readOnly: true
tags:
$ref: '#/components/schemas/Tags'
type_display:
title: Type display
type: string
readOnly: true
uploaded_at:
title: Uploaded at
description: The date this package was uploaded.
type: string
format: date-time
readOnly: true
uploader:
title: Uploader
type: string
readOnly: true
minLength: 1
version:
title: Version
description: The raw version for this package.
type:
- string
- 'null'
readOnly: true
securitySchemes:
apikey:
type: apiKey
name: X-Api-Key
in: header
basic:
type: http
scheme: basic