Cloudsmith entitlements API

The entitlements API from Cloudsmith — 8 operation(s) for entitlements.

OpenAPI Specification

cloudsmith-entitlements-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Cloudsmith API (v1) audit-log entitlements 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: entitlements
paths:
  /entitlements/{owner}/{repo}/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    get:
      operationId: entitlements_list
      summary: Get a list of all entitlements in a repository.
      description: Get a list of all entitlements in a 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
      - name: show_tokens
        in: query
        description: Show entitlement token strings in results
        required: false
        type: boolean
        default: false
      - name: query
        in: query
        description: A search term for querying names of entitlements.
        required: false
        type: string
      - name: active
        in: query
        description: If true, only include active tokens
        required: false
        type: boolean
        default: false
      - name: sort
        in: query
        description: 'A field for sorting objects in ascending or descending order. Use `-` prefix for descending order (e.g., `-name`). Available options: name.'
        required: false
        type: string
        default: name
      responses:
        '200':
          description: Retrieved the list of entitlement tokens
          schema:
            type: array
            items:
              $ref: '#/definitions/RepositoryToken'
        '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:
      - entitlements
    post:
      operationId: entitlements_create
      summary: Create a specific entitlement in a repository.
      description: Create a specific entitlement in a repository.
      parameters:
      - name: data
        in: body
        required: false
        schema:
          $ref: '#/definitions/RepositoryTokenRequest'
      - name: show_tokens
        in: query
        description: Show entitlement token strings in results
        required: false
        type: boolean
        default: false
      responses:
        '201':
          description: Created the specified entitlement
          schema:
            $ref: '#/definitions/RepositoryToken'
        '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:
      - entitlements
  /entitlements/{owner}/{repo}/sync/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    post:
      operationId: entitlements_sync
      summary: Synchronise tokens from a source repository.
      description: Synchronise tokens from a source repository.
      parameters:
      - name: data
        in: body
        required: false
        schema:
          $ref: '#/definitions/RepositoryTokenSyncRequest'
      - name: show_tokens
        in: query
        description: Show entitlement token strings in results
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The tokens have been synchronised from the source repository.
          schema:
            $ref: '#/definitions/RepositoryTokenSync'
        '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:
      - entitlements
  /entitlements/{owner}/{repo}/{identifier}/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    - name: identifier
      in: path
      required: true
      type: string
    get:
      operationId: entitlements_read
      summary: Get a specific entitlement in a repository.
      description: Get a specific entitlement in a repository.
      parameters:
      - name: fuzzy
        in: query
        description: If true, entitlement identifiers including name will be fuzzy matched.
        required: false
        type: boolean
        default: false
      - name: show_tokens
        in: query
        description: Show entitlement token strings in results
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Retrieved the specified entitlement
          schema:
            $ref: '#/definitions/RepositoryToken'
        '400':
          description: Couldn't retrieve the specified token because the request contains an error.
          schema:
            $ref: '#/definitions/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          schema:
            $ref: '#/definitions/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          schema:
            $ref: '#/definitions/ErrorDetail'
      tags:
      - entitlements
    patch:
      operationId: entitlements_partial_update
      summary: Update a specific entitlement in a repository.
      description: Update a specific entitlement in a repository.
      parameters:
      - name: data
        in: body
        required: false
        schema:
          $ref: '#/definitions/RepositoryTokenRequestPatch'
      - name: show_tokens
        in: query
        description: Show entitlement token strings in results
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Updated the specified entitlement
          schema:
            $ref: '#/definitions/RepositoryToken'
        '400':
          description: The entitlement cannot be edited.
          schema:
            $ref: '#/definitions/ErrorDetail'
        '404':
          description: Owner namespace or repository not found
          schema:
            $ref: '#/definitions/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          schema:
            $ref: '#/definitions/ErrorDetail'
      tags:
      - entitlements
    delete:
      operationId: entitlements_delete
      summary: Delete a specific entitlement in a repository.
      description: Delete a specific entitlement in a repository.
      parameters: []
      responses:
        '204':
          description: Soft-deleted the specified entitlement token successfully.
        '400':
          description: The entitlement cannot be deleted.
          schema:
            $ref: '#/definitions/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          schema:
            $ref: '#/definitions/ErrorDetail'
      tags:
      - entitlements
  /entitlements/{owner}/{repo}/{identifier}/disable/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    - name: identifier
      in: path
      required: true
      type: string
    post:
      operationId: entitlements_disable
      summary: Disable an entitlement token in a repository.
      description: Disable an entitlement token in a repository.
      parameters: []
      responses:
        '204':
          description: The entitlement token has been disabled.
        '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:
      - entitlements
  /entitlements/{owner}/{repo}/{identifier}/enable/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    - name: identifier
      in: path
      required: true
      type: string
    post:
      operationId: entitlements_enable
      summary: Enable an entitlement token in a repository.
      description: Enable an entitlement token in a repository.
      parameters: []
      responses:
        '204':
          description: The entitlement token has been enabled.
        '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:
      - entitlements
  /entitlements/{owner}/{repo}/{identifier}/refresh/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    - name: identifier
      in: path
      required: true
      type: string
    post:
      operationId: entitlements_refresh
      summary: Refresh an entitlement token in a repository.
      description: Refresh an entitlement token in a repository.
      parameters:
      - name: data
        in: body
        required: false
        schema:
          $ref: '#/definitions/RepositoryTokenRefreshRequest'
      - name: show_tokens
        in: query
        description: Show entitlement token strings in results
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The entitlement token has been refreshed.
          schema:
            $ref: '#/definitions/RepositoryTokenRefresh'
        '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:
      - entitlements
  /entitlements/{owner}/{repo}/{identifier}/reset/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    - name: identifier
      in: path
      required: true
      type: string
    post:
      operationId: entitlements_reset
      summary: Reset the statistics for an entitlement token in a repository.
      description: Reset the statistics for an entitlement token in a repository.
      parameters:
      - name: show_tokens
        in: query
        description: Show entitlement token strings in results
        required: false
        type: boolean
        default: false
      responses:
        '204':
          description: The entitlement token statistics have been reset.
        '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:
      - entitlements
  /entitlements/{owner}/{repo}/{identifier}/toggle-private-broadcasts/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    - name: identifier
      in: path
      required: true
      type: string
    post:
      operationId: entitlements_toggle_private_broadcasts
      summary: Set private broadcast access for an entitlement token in a repository.
      description: Set private broadcast access for an entitlement token in a repository.
      parameters:
      - name: data
        in: body
        required: false
        schema:
          $ref: '#/definitions/RepositoryTokenPrivateBroadcastsRequest'
      responses:
        '200':
          description: Private broadcasts access has been updated for the entitlement token.
        '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:
      - entitlements
definitions:
  RepositoryTokenRefreshRequest:
    type: object
    properties:
      eula_required:
        title: Eula required
        description: If checked, a EULA acceptance is required for this token.
        type: boolean
      is_active:
        title: Token Active
        description: If enabled, the token will allow downloads based on configured restrictions (if any).
        type: boolean
      limit_bandwidth:
        title: Limit bandwidth
        description: 'The maximum download bandwidth allowed for the token. Values are expressed as the selected unit of bandwidth. Please note that since downloads are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point. '
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_bandwidth_unit:
        title: Limit bandwidth unit
        type: string
        enum:
        - Byte
        - Kilobyte
        - Megabyte
        - Gigabyte
        - Terabyte
        - Petabyte
        - Exabyte
        - Zettabyte
        - Yottabyte
        default: Byte
        x-nullable: true
      limit_date_range_from:
        title: Limit date range from
        description: The starting date/time the token is allowed to be used from.
        type: string
        format: date-time
        x-nullable: true
      limit_date_range_to:
        title: Limit date range to
        description: The ending date/time the token is allowed to be used until.
        type: string
        format: date-time
        x-nullable: true
      limit_num_clients:
        title: Limit num clients
        description: The maximum number of unique clients allowed for the token. Please note that since clients are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point.
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_num_downloads:
        title: Limit num downloads
        description: The maximum number of downloads allowed for the token. Please note that since downloads are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point.
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_package_query:
        title: Limit package query
        description: The package-based search query to apply to restrict downloads to. This uses the same syntax as the standard search used for repositories, and also supports boolean logic operators such as OR/AND/NOT and parentheses for grouping. This will still allow access to non-package files, such as metadata.
        type: string
        maxLength: 1024
        x-nullable: true
      limit_path_query:
        title: Limit path query
        description: THIS WILL SOON BE DEPRECATED, please use limit_package_query instead. The path-based search query to apply to restrict downloads to. This supports boolean logic operators such as OR/AND/NOT and parentheses for grouping. The path evaluated does not include the domain name, the namespace, the entitlement code used, the package format, etc. and it always starts with a forward slash.
        type: string
        maxLength: 1024
        x-nullable: true
      metadata:
        title: Metadata
        type: object
        x-nullable: true
      scheduled_reset_at:
        title: Scheduled reset at
        description: The time at which the scheduled reset period has elapsed and the token limits were automatically reset to zero.
        type: string
        format: date-time
        x-nullable: true
      scheduled_reset_period:
        title: Scheduled reset period
        type: string
        enum:
        - Never Reset
        - Daily
        - Weekly
        - Fortnightly
        - Monthly
        - Bi-Monthly
        - Quarterly
        - Every 6 months
        - Annual
        default: Never Reset
        x-nullable: true
      token:
        title: Token
        type: string
        minLength: 1
  RepositoryTokenRequestPatch:
    type: object
    properties:
      eula_required:
        title: Eula required
        description: If checked, a EULA acceptance is required for this token.
        type: boolean
      is_active:
        title: Token Active
        description: If enabled, the token will allow downloads based on configured restrictions (if any).
        type: boolean
      limit_bandwidth:
        title: Limit bandwidth
        description: 'The maximum download bandwidth allowed for the token. Values are expressed as the selected unit of bandwidth. Please note that since downloads are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point. '
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_bandwidth_unit:
        title: Limit bandwidth unit
        type: string
        enum:
        - Byte
        - Kilobyte
        - Megabyte
        - Gigabyte
        - Terabyte
        - Petabyte
        - Exabyte
        - Zettabyte
        - Yottabyte
        default: Byte
        x-nullable: true
      limit_date_range_from:
        title: Limit date range from
        description: The starting date/time the token is allowed to be used from.
        type: string
        format: date-time
        x-nullable: true
      limit_date_range_to:
        title: Limit date range to
        description: The ending date/time the token is allowed to be used until.
        type: string
        format: date-time
        x-nullable: true
      limit_num_clients:
        title: Limit num clients
        description: The maximum number of unique clients allowed for the token. Please note that since clients are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point.
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_num_downloads:
        title: Limit num downloads
        description: The maximum number of downloads allowed for the token. Please note that since downloads are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point.
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_package_query:
        title: Limit package query
        description: The package-based search query to apply to restrict downloads to. This uses the same syntax as the standard search used for repositories, and also supports boolean logic operators such as OR/AND/NOT and parentheses for grouping. This will still allow access to non-package files, such as metadata.
        type: string
        maxLength: 1024
        x-nullable: true
      limit_path_query:
        title: Limit path query
        description: THIS WILL SOON BE DEPRECATED, please use limit_package_query instead. The path-based search query to apply to restrict downloads to. This supports boolean logic operators such as OR/AND/NOT and parentheses for grouping. The path evaluated does not include the domain name, the namespace, the entitlement code used, the package format, etc. and it always starts with a forward slash.
        type: string
        maxLength: 1024
        x-nullable: true
      metadata:
        title: Metadata
        type: object
        x-nullable: true
      name:
        title: Name
        type: string
        minLength: 1
      scheduled_reset_at:
        title: Scheduled reset at
        description: The time at which the scheduled reset period has elapsed and the token limits were automatically reset to zero.
        type: string
        format: date-time
        x-nullable: true
      scheduled_reset_period:
        title: Scheduled reset period
        type: string
        enum:
        - Never Reset
        - Daily
        - Weekly
        - Fortnightly
        - Monthly
        - Bi-Monthly
        - Quarterly
        - Every 6 months
        - Annual
        default: Never Reset
        x-nullable: true
      token:
        title: Token
        type: string
        minLength: 1
  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
  RepositoryToken:
    required:
    - name
    type: object
    properties:
      access_private_broadcasts:
        title: Access private broadcasts
        description: If enabled, this token can be used for private broadcasts
        type: boolean
        readOnly: true
      clients:
        title: Clients
        type: integer
        readOnly: true
      created_at:
        title: Created at
        description: The datetime the token was updated at.
        type: string
        format: date-time
        readOnly: true
      created_by:
        title: Created by
        type: string
        readOnly: true
        minLength: 1
      created_by_url:
        title: Created by url
        type: string
        format: uri
        readOnly: true
      default:
        title: Default
        description: If selected this is the default token for this repository.
        type: boolean
        readOnly: true
      disable_url:
        title: Disable url
        type: string
        format: uri
        readOnly: true
      downloads:
        title: Downloads
        type: integer
        readOnly: true
      enable_url:
        title: Enable url
        type: string
        format: uri
        readOnly: true
      eula_accepted:
        $ref: '#/definitions/Eula'
      eula_accepted_at:
        title: Eula accepted at
        description: The datetime the EULA was accepted at.
        type: string
        format: date-time
        readOnly: true
        x-nullable: true
      eula_accepted_from:
        title: Eula accepted from
        type: string
        readOnly: true
        minLength: 1
        x-nullable: true
      eula_required:
        title: Eula required
        description: If checked, a EULA acceptance is required for this token.
        type: boolean
      has_limits:
        title: Has limits
        type: boolean
        readOnly: true
      identifier:
        title: Identifier
        description: 'Deprecated (23-05-15): Please use ''slug_perm'' instead. Previously: A monotonically increasing number that identified an entitlement within a repository.'
        type: integer
        readOnly: true
        x-nullable: true
      is_active:
        title: Token Active
        description: If enabled, the token will allow downloads based on configured restrictions (if any).
        type: boolean
      is_limited:
        title: Is limited
        type: boolean
        readOnly: true
      limit_bandwidth:
        title: Limit bandwidth
        description: 'The maximum download bandwidth allowed for the token. Values are expressed as the selected unit of bandwidth. Please note that since downloads are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point. '
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_bandwidth_unit:
        title: Limit bandwidth unit
        type: string
        enum:
        - Byte
        - Kilobyte
        - Megabyte
        - Gigabyte
        - Terabyte
        - Petabyte
        - Exabyte
        - Zettabyte
        - Yottabyte
        default: Byte
        x-nullable: true
      limit_date_range_from:
        title: Limit date range from
        description: The starting date/time the token is allowed to be used from.
        type: string
        format: date-time
        x-nullable: true
      limit_date_range_to:
        title: Limit date range to
        description: The ending date/time the token is allowed to be used until.
        type: string
        format: date-time
        x-nullable: true
      limit_num_clients:
        title: Limit num clients
        description: The maximum number of unique clients allowed for the token. Please note that since clients are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point.
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_num_downloads:
        title: Limit num downloads
        description: The maximum number of downloads allowed for the token. Please note that since downloads are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point.
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_package_query:
        title: Limit package query
        description: The package-based search query to apply to restrict downloads to. This uses the same syntax as the standard search used for repositories, and also supports boolean logic operators such as OR/AND/NOT and parentheses for grouping. This will still allow access to non-package files, such as metadata.
        type: string
        maxLength: 1024
        x-nullable: true
      limit_path_query:
        title: Limit path query
        description: THIS WILL SOON BE DEPRECATED, please use limit_package_query instead. The path-based search query to apply to restrict downloads to. This supports boolean logic operators such as OR/AND/NOT and parentheses for grouping. The path evaluated does not include the domain name, the namespace, the entitlement code used, the package format, etc. and it always starts with a forward slash.
        type: string
        maxLength: 1024
        x-nullable: true
      metadata:
        title: Metadata
        type: object
        x-nullable: true
      name:
        title: Name
        type: string
        minLength: 1
      refresh_url:
        title: Refresh url
        type: string
        format: uri
        readOnly: true
      reset_url:
        title: Reset url
        type: string
        format: uri
        readOnly: true
      scheduled_reset_at:
        title: Scheduled reset at
        description: The time at which the scheduled reset period has elapsed and the token limits were automatically reset to zero.
        type: string
        format: date-time
        x-nullable: true
      scheduled_reset_period:
        title: Scheduled reset period
        type: string
        enum:
        - Never Reset
        - Daily
        - Weekly
        - Fortnightly
        - Monthly
        - Bi-Monthly
        - Quarterly
        - Every 6 months
        - Annual
        default: Never Reset
        x-nullable: true
      self_url:
        title: Self url
        type: string
        format: uri
        readOnly: true
      slug_perm:
        title: Slug perm
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        readOnly: true
        minLength: 1
      token:
        title: Token
        type: string
        minLength: 1
      updated_at:
        title: Updated at
        description: The datetime the token was updated at.
        type: string
        format: date-time
        readOnly: true
        x-nullable: true
      updated_by:
        title: Updated by
        type: string
        readOnly: true
        minLength: 1
        x-nullable: true
      updated_by_url:
        title: Updated by url
        type: string
        format: uri
        readOnly: true
        x-nullable: true
      usage:
        title: Usage
        type: string
        readOnly: true
        minLength: 1
      user:
        title: User
        type: string
        readOnly: true
        minLength: 1
        x-nullable: true
      user_url:
        title: User url
        type: string
        format: uri
        readOnly: true
        x-nullable: true
  RepositoryTokenPrivateBroadcastsRequest:
    required:
    - access_private_broadcasts
    type: object
    properties:
      access_private_broadcasts:
        title: Access private broadcasts
        description: Whether the token should have access to private broadcasts.
        type: boolean
  RepositoryTokenSync:
    type: object
    properties:
      tokens:
        description: The entitlements that have been synchronised.
        type: array
        items:
          $ref: '#/definitions/RepositoryToken'
        readOnly: true
  RepositoryTokenRequest:
    required:
    - name
    type: object
    properties:
      eula_required:
        title: Eula required
        description: If checked, a EULA acceptance is required for this token.
        type: boolean
      is_active:
        title: Token Active
        description: If enabled, the token will allow downloads based on configured restrictions (if any).
        type: boolean
      limit_bandwidth:
        title: Limit bandwidth
        description: 'The maximum download bandwidth allowed for the token. Values are expressed as the selected unit of bandwidth. Please note that since downloads are calculated asynchronously (after the download happens), the limit may not be imposed immediately but at a later point. '
        type: integer
        maximum: 9223372036854775807
        minimum: -9223372036854775808
        x-nullable: true
      limit_bandwidth_unit:
        title: Limit bandwidth unit
        type: string
        enum:
        - Byte
        - Kilobyte
        - Megabyte
        - Gigabyte
        - Terabyte
        - Petabyte
        - Exabyte
        - Zettabyte
        - Yottabyte
        default: Byte
        x-nullable: true
      limit_date_range_from:
        title: Limit date range from
        description: The starting date/time the token is allowed to be used from.
        type: string
        format: date-time
        x-nullable: true
      limit_date_range_to:
        title: Limit date range to
        description: The ending date/time the token is allowed to be used until.
        type: string
        format: date-time
        x-nullable: true
      limit_num_clients:
        title: Limit num clients
        description: The maximum number of unique clients allowed for the token. Please note that since clients are calculated asynchronously (after the d

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