swagger: '2.0' info: title: Cloudsmith API (v1) audit-log formats 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: formats paths: /formats/: parameters: [] get: operationId: formats_list summary: Get a list of all supported package formats. description: Get a list of all supported package formats. parameters: [] responses: '200': description: Available package formats retrieved schema: type: array items: $ref: '#/definitions/Format' '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: - formats x-simplified: fields[distributions]=slug,name /formats/{slug}/: parameters: - name: slug in: path required: true type: string get: operationId: formats_read summary: Get a specific supported package format. description: Get a specific supported package format. parameters: [] responses: '200': description: OK schema: $ref: '#/definitions/Format' '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: - formats x-simplified: fields[distributions]=slug,name definitions: FormatSupport: description: A set of what the package format supports required: - dependencies - distributions - file_lists - filepaths - metadata - upstreams - versioning type: object properties: dependencies: title: Dependencies description: If true the package format supports dependencies type: boolean distributions: title: Distributions description: If true the package format supports distributions type: boolean file_lists: title: File lists description: If true the package format supports file lists type: boolean filepaths: title: Filepaths description: If true the package format supports filepaths type: boolean metadata: title: Metadata description: If true the package format supports metadata type: boolean upstreams: $ref: '#/definitions/FormatSupportUpstream' versioning: title: Versioning description: If true the package format supports versioning type: boolean 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 Distribution: description: The distributions supported by this package format required: - name type: object properties: name: title: Name type: string maxLength: 32 minLength: 1 self_url: title: Self url type: string format: uri readOnly: true slug: title: Slug description: The slug identifier for this distribution type: string readOnly: true minLength: 1 variants: title: Variants type: string maxLength: 128 x-nullable: true x-nullable: true Format: required: - description - extensions - name - premium - slug - supports type: object properties: description: title: Description description: Description of the package format type: string minLength: 1 distributions: description: The distributions supported by this package format type: array items: $ref: '#/definitions/Distribution' x-nullable: true extensions: description: A non-exhaustive list of extensions supported type: array items: type: string minLength: 1 name: title: Name description: Name for the package format type: string minLength: 1 premium: title: Premium description: If true the package format is a premium-only feature type: boolean premium_plan_id: title: Premium plan id description: The minimum plan id required for this package format type: string minLength: 1 x-nullable: true premium_plan_name: title: Premium plan name description: The minimum plan name required for this package format type: string minLength: 1 x-nullable: true slug: title: Slug description: Slug for the package format type: string minLength: 1 supports: $ref: '#/definitions/FormatSupport' FormatSupportUpstream: description: The upstream support for the package format required: - auth_modes - caching - indexing - proxying - trust type: object properties: auth_modes: description: The authentication modes supported by the upstream format type: array items: type: string enum: - Username and Password - Token - Certificate and Key default: Username and Password caching: title: Caching description: If true the upstream format supports caching type: boolean indexing: title: Indexing description: If true the upstream format supports indexing type: boolean indexing_behavior: title: Indexing behavior description: The behavior of the upstream when indexing type: string enum: - Unsupported - Ahead-of-time (static) indexing - Just-in-time (dynamic) indexing default: Unsupported proxying: title: Proxying description: If true the upstream format supports proxying type: boolean signature_verification: title: Signature verification description: The signature verification supported by the upstream format type: string enum: - Unsupported - Repository Metadata - Packages - Repository Metadata and Packages default: Unsupported trust: title: Trust description: If true the upstream format supports configurable trust levels (trusted vs untrusted) for upstream sources. type: boolean securityDefinitions: apikey: type: apiKey name: X-Api-Key in: header basic: type: basic