c8y(1)
c8y(1) β session login but make it π
okay so bestie, this is section 1 of the manual, and it's literally the glow-up guide for getting logged into Cumulocity. why are we here? to set up a session, log in, test that session, and snag yourself either an OAuth2 token or vibe with two-factor authentication. no cap, it's giving "main character energy" for your CLI π«Ά
β¨ NAME β¨
c8y-sessions-login β login to Cumulocity and return environment variables (including a token), periodt.
πΈ SYNOPSIS πΈ
c8y sessions login [flags]
π¦ DESCRIPTION π¦
Set a session, login and test the session and get either OAuth2 token, or using two factor authentication. that's the whole vibe, bestie β you're setting up your session so the rest of your commands can slay π₯
π OPTIONS π
--browserCallback=""β Custom redirect URI for the browser flow's local callback server, e.g.http://127.0.0.1:8080/callback. This one must match a URI registered in the SSO provider. Defaults tohttp://127.0.0.1:5001/callback(iykyk, that's your local callback server).--clear[=false]β Clear any existing tokens. fresh start energy β¨--format=""β External command format, e.g.json,yaml,toml.--from-cmd=""β External command to execute to get the log in details.--from-env[=false]β Read from environment variables.--from-file=""β Read session from a file.--from-prompt[=false]β Read from user prompted input.--from-stdin[=false]β Read from standard input.-h,--help[=false]β help for login.--host=""β Cumulocity host. Only used with the'interactive'provider.--loginType=""β Login type preference, e.g.OAUTH2_INTERNAL,DEVICE(device flow),BROWSER(Authorization Code via browser),BASICorCERTIFICATE(mTLS).OAUTH2is a legacy alias forDEVICE. When set toBASIC, any existing token will be cleared. pick your fighter, bestie π--mode=""β Session mode which controls which commands are allowed, e.g.dev,qualorprod.--no-banner[=false]β Don't show the session banner.--output-format=""β Output format.--provider=""β Session provider which returns the session to use.--secrets=[]β List of secrets to include as env variables when running an external command. Only valid withfrom-cmd.--shell=""β Shell type to return the environment variables.--sso-audience=""β SSO Audience.--sso-scopes=""β SSO Scopes.--tfaCode=""β Two Factor Authentication code.
π OPTIONS INHERITED FROM PARENT COMMANDS π
--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!) β like, fr fr be careful bestie π--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.
π EXAMPLE π
okay bestie, these examples are literally the blueprint. copy them exactly, no cap:
$ eval "$( c8y sessions login --from-file .env )"
Set a session from a dotenv file
$ eval "$( c8y sessions login --from-env )"
Set a session from environment variables (e.g. in Github)
$ eval "$( c8y-session-bitwarden | c8y sessions login --from-stdin --format json )"
Set a session from an external command, accepting the selected session via stdin
$ eval "$( c8y sessions login --from-cmd "c8y sessions set --output json" )"
Set a session using the in-built "c8y sessions set"
$ eval "$( c8y sessions login --from-cmd "c8y-session-bitwarden list --folder c8y" --secrets BW_SESSION --format json )"
Set a session from an external command, where the external commands returns the selected session in json format on stdout
$ eval "$( c8y sessions login --from-prompt --host example.cumulocity.com)"
$ eval "$( c8y sessions login --from-file .env --loginType DEVICE )"
Login using the OAuth2 device flow (polls for approval after visiting the URL shown in the terminal)
$ eval "$( c8y sessions login --from-file .env --loginType BROWSER )"
Login using Authorization Code flow β opens the system browser and waits for the callback
$ eval "$( c8y sessions login --from-file .env --loginType BROWSER --browserCallback http://127.0.0.1:8080/callback )"
Login via browser with a custom callback URL registered in the SSO provider
$ eval "$( c8y sessions login --from-file .env --loginType CERTIFICATE )"
Login using a device certificate (mTLS); reads cert paths from the session file or C8Y_CERTIFICATE / C8Y_CERTIFICATE_KEY env vars
π SEE ALSO π
c8y-sessions(1)β like, go read it bestie, it's the whole session saga π«Ά
happy logging, icon! this page is from way back β Jan 1980 β and yeah, that's the c8y(1) manual source/version and date, so now you know. slay and stay logged in π
β¨
π¦ 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