Homepage

AssetInput

Last edit: Oct 13, 2026

An asset to register; the file itself is uploaded separately, for example to a URL from admin_assets_presign_urls

type AssetInput {
  cache_control: String
  file_size: Int
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  physical_file_path: String!
  url: String
}

Fields

cache_control (String)

Cache-Control header served with the asset, for example max-age=315576000, public; stored in metadata

file_size (Int)

Size of the file in bytes; when given, the content type is detected from physical_file_path

manually_managed (Boolean)

When true, pos-cli deploy and sync never overwrite or delete it and pos-cli
pull skips it. When omitted, defaults to the track_manually_managed setting of
the instance (false unless enabled in app/config.yml)

metadata (HashObject)

Arbitrary JSON data stored with the asset, at most 3000 bytes

name (String)

Name of the asset, its path relative to the assets directory, for example
images/logo.png; used to build its URL. For a module asset the
modules/<module_name>/ prefix is added automatically. An existing asset with
the same name is updated (and restored if deleted)

physical_file_path (String)

Path of the asset, used by pos-cli pull and deploy: assets/<name>,
optionally prefixed with modules/<module_name>/public/ or
modules/<module_name>/private/, for example
modules/my_module/public/assets/images/logo.png

url (String)

Explicit URL of the asset, stored as is (spaces are encoded). When omitted,
the URL is built from the name and an explicit URL set earlier is kept

Questions?

We are always happy to help with any questions you may have.

contact us