Overview

Smooth CDN delivers assets through a predictable and optimized request pipeline. Requests are resolved deterministically without hidden runtime logic.

  • Resolve the requested user and project.
  • Resolve the target version.
  • Resolve the requested asset path.
  • Apply format negotiation when supported (images, audio, video).
  • Serve the asset with optimized cache headers.

Uploads, configuration, and access rules are managed outside the CDN layer. The CDN focuses purely on fast and predictable delivery.

Asset URL structure

Assets are delivered using stable and human-readable URLs.

Pattern

https://cdn.smoothcdn.com/<user-slug>/<project-slug>/<version>/<asset-path>
  • <user-slug> — owner identifier
  • <project-slug> — project identifier
  • <version> — specific version or latest (applicable only if project type is versioned, skip for other types)
  • <asset-path> — full relative file path

You can also specify custom subdomain for your project (available on paid plans only). Then Your URL will look like this:

https://<project-subdomain>.smoothcdn.com/<version>/<asset-path>

You can also list all available assets in project using following URL:

https://cdn.smoothcdn.com/<user-slug>/<project-slug>/<version>/list
Supported asset formats

Smooth CDN allows common web asset types. Unsupported file types are rejected at the delivery layer.

Allowed extensions

  • Scripts: .js, .mjs
  • Styles: .css
  • Fonts: .woff2, .woff, .ttf, .otf
  • Images: .png, .jpg, .jpeg, .webp, .avif, .svg
  • Documents: .pdf, .md, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .odt, .ods, .odp
  • Data: .json, .txt
  • Audio: .mp3, .ogg, .wav
  • Video: .mp4, .mov, .avi, .webm, .mkv

Asset delivery and format optimization

Smooth CDN does not only store uploaded assets. The platform also prepares optimized variants and tries to serve the best available format for the current request while keeping the same stable asset URL.

  • Images are optimized into .webp and .avif variants when possible.
  • Audio files are optimized into .m4a variants when possible.
  • Video files are optimized into .m4v variants when possible.
  • Smooth CDN uses request information such as supported response formats to choose the best variant it can return from the same asset URL.

If you need the originally uploaded file instead of the optimized delivery variant, append ?original=1 to the asset URL.

https://cdn.smoothcdn.com/<user-slug>/<project-slug>/<version>/<asset-path>?original=1
Using assets

Assets can be referenced directly in HTML, CSS, or JavaScript using CDN URLs.

<link rel="stylesheet" href="https://cdn.smoothcdn.com/user/project/app.css" />
<script defer src="https://cdn.smoothcdn.com/user/project/app.js"></script>

<img src="https://cdn.smoothcdn.com/user/project/logo.png" alt="Logo" />

You can also use the developer panel or the CLI command scdn get-snippet to generate a production-ready snippet for a selected asset.

Versioned assets

Versioning is available for projects that use the versioned project type. In this mode, assets are grouped under explicit release versions so a website or application can point to a predictable set of files.

Versioned projects are useful when frontend assets should move with releases, previews, rollback paths, or deployment environments.

Version format

Use semantic version values such as 1.0.0, 1.1.0, or 2.0.0. The version appears directly in the asset URL.

https://cdn.smoothcdn.com/<user-slug>/<project-slug>/1.0.0/<asset-path>

Latest version

Versioned projects can also expose a latest alias. Use latest when an integration should always load the currently selected production version without changing every asset reference.

https://cdn.smoothcdn.com/<user-slug>/<project-slug>/latest/<asset-path>

Use explicit versions when a release must stay fixed. Use latest when the project should follow the active version selected in Smooth CDN.

Access control

Smooth CDN can optionally restrict access to selected assets. By default, assets are public and optimized for global delivery. When an asset is marked as protected, it is no longer intended to be downloaded through a plain public URL.

Protected assets can be delivered in two ways: with an access token, or to logged-in Smooth CDN users who have permission to access the project that owns the asset.

Token-based access

Use token-based access when a server, backend job, integration, or controlled download flow needs to request a protected asset. The token can be sent in the authorization header or as a query parameter.

Authorization header
Authorization: Bearer <token>
Query param
https://cdn.smoothcdn.com/<user>/<project>/<version>/<asset>?t=<token>

Token-based access is intended for server-side usage and controlled distribution.

Logged-in user access

Protected assets can also be accessed by logged-in Smooth CDN users when their account has access to the project. This is useful for internal review, project work, or asset management flows where teammates should see protected files without distributing a token.

Project permissions still apply. Users without access to the project should not be able to open protected project assets through the authenticated flow.

Collaborators

Smooth CDN projects can have collaborators. Collaborators are other Smooth CDN users invited to a project so they can access project files or manage assets without sharing the owner account.

Use collaborators when asset work is shared across teammates, clients, developers, designers or content teams.

What collaborators can do

  • Access files in the Smooth CDN project.
  • Work with project assets using their own account.
  • Help manage uploads and asset changes inside the project workflow.

Collaborators are project-level users. They should be invited when someone needs to work inside a specific Smooth CDN project, not when a public asset URL is enough.

Error responses

The CDN returns standard HTTP status codes for delivery errors.

  • 404 Not Found — asset does not exist
  • 403 Forbidden — access denied
  • 415 Unsupported Media Type — file type is not allowed
  • 429 Too Many Requests — rate limited
  • 5xx — edge or internal failure