> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mirurobotics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload collections

export const PublisherBadge = ({size = "md"}) => {
  return <Tooltip tip="Members with the publisher role can execute this action." cta="Workspace roles" href="/admin/users/access-control">
            <Badge icon="git-merge" color="green" size={size}>publisher</Badge>
        </Tooltip>;
};

export const PlatformUnsupportedBadge = () => {
  return <Tooltip tip="Platform API does not support this operation">
      <span className="inline-flex items-center gap-1.5 rounded-lg px-2 py-0.5 text-sm text-[rgb(var(--gray-500))] dark:text-[rgb(var(--gray-400))]" style={{
    marginLeft: '-0.5rem',
    cursor: 'default'
  }}>
        <Icon icon="ban" size={13} color="currentColor" /> Platform API
      </span>
    </Tooltip>;
};

export const EditableBadge = ({size = "sm"}) => {
  return <Tooltip tip="Property can be directly modified">
            <Badge icon="pencil" color="blue" size={size}>editable</Badge>
        </Tooltip>;
};

export const ImmutableBadge = ({size = "sm"}) => {
  return <Tooltip tip="Property cannot be modified">
            <Badge icon="lock" color="gray" size={size}>immutable</Badge>
        </Tooltip>;
};

An **upload collection** is a named grouping of [uploads](/data-uploads/concepts/uploads).

Every upload belongs to exactly one collection. Collections give the data your fleet records a stable, human-readable identity (`Robot Logs`, `Crash Reports`) to keep track of what data is being uploaded.

## Properties

<ParamField path="name" type="string">
  <EditableBadge />

  A human-readable display name that can contain most characters, such as spaces,
  special characters, and punctuation.

  Examples: `Robot Logs`, `Crash Reports`, `Camera Footage`
</ParamField>

<ParamField path="slug" type="string">
  <ImmutableBadge />

  A unique, code-friendly identifier for an upload collection.

  Slugs are immutable and must satisfy the following constraints:

  * Contains only lowercase letters, digits, and hyphens (`-`)
  * Start and end with a lowercase letter or digit
  * Contain between 1 and 48 characters

  Slugs are primarily used in code to reference upload collections in a human-readable
  format. For instance, file rules are annotated with their collection's `slug` to associate uploads with their proper upload collection.

  Examples: `robot-logs`, `crash-reports`, `camera-footage`
</ParamField>

## Create an upload collection  <PublisherBadge />

<PlatformUnsupportedBadge />

Upload collections are created automatically when you create a file rule. Visit the [define file rules](/data-uploads/define-file-rules) page to learn how to create upload collections and file rules.
