c8y(1)
π c8y(1) β the c8y manual, but make it make sense
okay so bestie, you opened the c8y(1) manual page and honestly? it's giving "wall of flags." but don't panic, because we're gonna walk through it together and by the end you'll be creating users like it's nothing. periodt. β¨
πΈ NAME
c8y-users-create β Create user
like, literally just make a user. that's the whole vibe.
π¦ SYNOPSIS
c8y users create [flags]
π DESCRIPTION
Create a new user so that they can access the tenant. that's it, that's the plot. you're basically handing someone a key to the whole little kingdom π
β¨ OPTIONS β¨
okay here's the main character section, no skipping, we're doing all of them:
--customProperties=""β Custom properties to be added to the user. extra lil extras, you know?-d,--data=[]β static data to be applied to body. accepts json or shorthand json, i.e.--data 'value1=1,my.nested.value=100'--displayName=""β The user's display name in Cumulocity--email=""β User email address--enabled[=false]β User activation status (true/false)--firstName=""β User first name-h,--help[=false]β help for create--lastName=""β User last name--newsletter[=false]β Indicates whether the user is subscribed to the newsletter or not--password=""β User password. Min: 6, max: 32 characters. Only Latin1 chars allowed--phone=""β User phone number. Format:'+[country code][number]', has to be a valid MSISDN--processingMode=""β Cumulocity processing mode--sendPasswordResetEmail[=false]β Send password reset email to the user instead of setting a password--shouldResetPassword[=false]β User must reset password on next login--template=""β Body template--templateVars=[]β Body template variables--tenant=""β Tenant--userName=""β User name, unique for a given domain. Max: 1000 characters (accepts pipeline)
ok quick note on --password because the constraints are real: Min: 6, max: 32 characters, and Only Latin1 chars allowed. don't fight it, just comply π
π₯ OPTIONS INHERITED FROM PARENT COMMANDS π₯
these aren't even create's flags, they're the family flags it inherited, and yes you get all of them, lucky you π
--abortOnErrors=10β Abort batch when reaching specified number of errors--allowEmptyPipe[=false]β Don't fail when piped input is empty (stdin)--cache[=false]β Enable cached responses--cacheBodyPaths=[]β Cache should limit hashing of selected paths in the json body. Empty indicates all values--cacheTTL="60s"β Cache time-to-live (TTL) as a duration, i.e.60s,2m-c,--compact[=false]β Compact instead of pretty-printed output when using json output. Pretty print is the default if output is the terminal--confirm[=false]β Prompt for confirmation--confirmText=""β Custom confirmation text--currentPage=0β Current page which should be returned--customQueryParam=[]β add custom URL query parameters. i.e.--customQueryParam 'withCustomOption=true,myOtherOption=myvalue'--debug[=false]β Set very verbose log messages--delay="0ms"β delay after each request, i.e.5ms,1.2s--delayBefore="0ms"β delay before each request, i.e.5ms,1.2s--dry[=false]β Dry run. Don't send any data to the server--dryFormat="markdown"β Dry run output format. i.e.json,dump,markdownorcurl--examples[=false]β Show examples for the current command--filter=[]β Apply a client side filter to response before returning it to the user--flatten[=false]β flatten json output by replacing nested json properties with properties where their names are represented by dot notation-f,--force[=false]β Do not prompt for confirmation. Ignored when using--confirm-H,--header=[]β custom headers. i.e.--header "Accept: value, AnotherHeader: myvalue"--includeAll[=false]β Include all results by iterating through each page-k,--insecure[=false]β Allow insecure server connections when using SSL-l,--logMessage=""β Add custom message to the activity log--maxJobs=0β Maximum number of jobs.0= unlimited (use with caution!)--noAccept[=false]β Ignore Accept header will remove the Accept header from requests, however PUT and POST requests will only see the effect--noCache[=false]β Force disabling of cached responses (overwrites cache setting)-M,--noColor[=false]β Don't use colors when displaying log entries on the console--noLog[=false]β Disables the activity log for the current command--noProgress[=false]β Disable progress bars--noProxy[=false]β Ignore the proxy settings-n,--nullInput[=false]β Don't read the input (stdin). Useful if using in shell for/while loops-o,--output="table"β Output format i.e.table,json,csv,csvheader--outputFile=""β Save JSON output to file (after select/view)--outputFileRaw=""β Save raw response to file (before select/view)--outputTemplate=""β jsonnet template to apply to the output-p,--pageSize=5β Maximum results per page--progress[=false]β Show progress bar. This will also disable any other verbose output--proxy=""β Proxy setting, i.e.http://10.0.0.1:8080-r,--raw[=false]β Show raw response. This mode will forceoutput=jsonandview=off--retries=3β Max number of attempts when a failed http call is encountered--select=[]β Comma separated list of properties to return. wildcards and globstar accepted, i.e.--select 'id,name,type,**.serialNumber'--session=""β Session configuration--sessionMode=""β Override default session mode for a single command which would normally be disabled-P,--sessionPassword=""β Override session password-U,--sessionUsername=""β Override session username. i.e.peterort1234/peter(with tenant)--silentExit[=false]β Silent status codes do not affect the exit code--silentStatusCodes=""β Status codes which will not print out an error message--timeout="600s"β Request timeout duration, i.e.60s,2m--totalPages=0β Total number of pages to get-v,--verbose[=false]β Verbose logging--view="auto"β Use views when displaying data on the terminal. Disable using--view off--withError[=false]β Errors will be printed on stdout instead of stderr--withTotalElements[=false]β Request Cumulocity to include the total elements in the response statistics under.statistics.totalElements(introduced in 10.13)-t,--withTotalPages[=false]β Request Cumulocity to include the total pages in the response statistics under.statistics.totalPages--workers=1β Number of workers
β οΈ heads up on--maxJobs=0:0= unlimited and the manpage itself says "use with caution!" so likeβ¦ be mindful, bestie π«Ά
π EXAMPLE π
okay these are the actual examples, copy them exactly, they ate:
$ c8y users create --userName "testuser1" --email "testuser@no-reply.dummy.com" --password 'a0)8k2kld9lm' --shouldResetPassword
Create a user and force user to change their password when logging in
$ c8y users create --template "{email: 'test@me.com', userName: $.email, firstName: 'Peter'}" --sendPasswordResetEmail
Create a user using a template
see? not scary at all. the first one makes a user and makes them change their password on login, the second one does the template thing. slay π
π SEE ALSO
that's your sibling page, go say hi.
and that's the whole page, bestie. you're now officially c8y-literate π go forth and create some users.
β¨ c8y(1) manual page Β· Jan 1980 β¨ β that's the version/date flex, straight from the footer, mwah π
π¦ where this page comes from
- nixpkgs unstable: go-c8y-cli 2.56.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms