milesoft type

Retrieve details, list, create, update, and delete user types in the current account.

milesoft type list

Retrieve a paginated collection of user types currently registered in the current account.

  • Usage: milesoft type list --account <account-id> [flags]
  • Flags:
    • --account string (Required): Account ID.
    • --cursor string: Pagination cursor from a previous response.
    • --limit int (Default: 50): Maximum number of types to return.
Examples
Terminal TTY Tabular Output (Default)
$ milesoft type list --account acc-123-prod
===========================================================================
TYPE ID              TITLE                               ROLES
===========================================================================
type-admin           Administrator                       ROLE_STUFF, ROLE_THINGS, ROLE_OTHER
type-member          Member                              ROLE_STUFF, ROLE_THINGS
type-guest           Guest                               ROLE_STUFF
===========================================================================
End of collection (limit 50)
Automated JSON Output (via Pipe, Redirect, or --json)
$ milesoft type list --account acc-123-prod --json

JSON Schema Result:

[
  {
    "id": "type-admin",
    "title": "Administrator",
    "description": "Full access to all features",
    "roles": ["ROLE_STUFF", "ROLE_THINGS", "ROLE_OTHER"],
    "created": "2026-07-10T12:00:00Z",
    "updated": "2026-07-15T14:30:00Z"
  },
  {
    "id": "type-member",
    "title": "Member",
    "description": "Standard member access",
    "roles": ["ROLE_STUFF", "ROLE_THINGS"],
    "created": "2026-07-12T09:15:00Z",
    "updated": "2026-07-12T09:15:00Z"
  }
]

milesoft type get

Retrieve the full details of a specific user type by its unique ID.

  • Usage: milesoft type get <type-id> --account <account-id> [flags]
Examples
Terminal TTY Output (Default)
$ milesoft type get type-admin --account acc-123-prod
=========================================================================
              Type Details
=========================================================================
ID:            type-admin
Name:          Administrator
Description:   Full access to all features
Roles:         ROLE_STUFF, ROLE_THINGS, ROLE_OTHER
Created:       2026-07-10T12:00:00Z
Updated:       2026-07-15T14:30:00Z
=========================================================================
Automated JSON Output (via Pipe, Redirect, or --json)
$ milesoft type get type-admin --account acc-123-prod --json

JSON Schema Result:

{
  "id": "type-admin",
  "title": "Administrator",
  "description": "Full access to all features",
  "roles": ["ROLE_STUFF", "ROLE_THINGS", "ROLE_OTHER"],
  "created": "2026-07-10T12:00:00Z",
  "updated": "2026-07-15T14:30:00Z"
}
Field-Specific Raw Output (via --field Flag)

Pairs perfectly with shell utilities (like pbcopy, env assignments, or scripting) by performing a case-insensitive match and outputting the raw, unquoted value.

$ milesoft type get type-admin --account acc-123-prod --field title
Administrator

$ milesoft type get type-admin --account acc-123-prod --field roles
[
  "ROLE_STUFF",
  "ROLE_THINGS",
  "ROLE_OTHER"
]

milesoft type create

Create a new user type with an optional description and set of roles.

  • Usage: milesoft type create --title <title> --account <account-id> [flags]
  • Sub-flags:
    • --title string (Required): Type title.
    • --description string: Type description.
    • --roles []string: Type roles.
Examples
Creating a Type with Roles
$ milesoft type create --title "Editor" --description "Can edit content" --roles "ROLE_STUFF" --account acc-123-prod
=========================================================================
              Created Type
=========================================================================
ID:            type-editor
Name:          Editor
Description:   Can edit content
Roles:         ROLE_STUFF
Created:       2026-07-17T15:20:00Z
Updated:       2026-07-17T15:20:00Z
=========================================================================
JSON Response for Scripted Creation (using --json)
$ milesoft type create --title "Editor" --description "Can edit content" --roles "ROLE_STUFF" --account acc-123-prod --json

JSON Schema Result:

{
  "id": "type-editor",
  "title": "Editor",
  "description": "Can edit content",
  "roles": ["ROLE_STUFF"],
  "created": "2026-07-17T15:20:00Z",
  "updated": "2026-07-17T15:20:00Z"
}

milesoft type update

Partially update an existing user type. At least one modification flag must be explicitly provided, otherwise the command will fail.

  • Usage: milesoft type update <type-id> --account <account-id> [flags]
  • Sub-flags:
    • --title string: New type title.
    • --description string: New type description.
    • --add-role []string: Roles to add to the type.
    • --remove-role []string: Roles to remove from the type.
Examples
Updating Type Title and Description
$ milesoft type update type-editor --account acc-123-prod --title "Senior Editor" --description "Can edit and publish content"
=========================================================================
              Updated Type
=========================================================================
ID:            type-editor
Name:          Senior Editor
Description:   Can edit and publish content
Roles:         ROLE_STUFF, ROLE_THINGS
Created:       2026-07-17T15:20:00Z
Updated:       2026-07-17T15:25:00Z
=========================================================================
Adding and Removing Roles
$ milesoft type update type-editor --account acc-123-prod --add-role "ROLE_STUFF" --remove-role "ROLE_THINGS"
=========================================================================
              Updated Type
=========================================================================
ID:            type-editor
Name:          Senior Editor
Description:   Can edit and publish content
Roles:         ROLE_STUFF
Created:       2026-07-17T15:20:00Z
Updated:       2026-07-17T15:30:00Z
=========================================================================
JSON Response for Scripted Update (using --json)
$ milesoft type update type-editor --account acc-123-prod --title "Lead Editor" --json

JSON Schema Result:

{
  "id": "type-editor",
  "title": "Lead Editor",
  "description": "Can edit and publish content",
  "roles": ["ROLE_STUFF", "ROLE_THINGS"],
  "created": "2026-07-17T15:20:00Z",
  "updated": "2026-07-17T15:35:00Z"
}

milesoft type delete

Permanently delete a user type from the account. To prevent accidental data loss in production, this command interactively prompts the user for confirmation unless bypassed using the global -y/--yes flag.

  • Usage: milesoft type delete <type-id> --account <account-id> [flags]
Examples
Deleting Interactively
$ milesoft type delete type-guest --account acc-123-prod
Are you sure you want to remove type type-guest from the account? (y/N): y
Success! Type type-guest has been deleted from the account.
Interactive Delete Cancellation
$ milesoft type delete type-guest --account acc-123-prod
Are you sure you want to remove type type-guest from the account? (y/N): n
Action cancelled.
Bypassing Prompts for Automation
$ milesoft type delete type-guest --account acc-123-prod --yes
Success! Type type-guest has been deleted from the account.