CLI Authentication and Adding Tokens
After installing CLI in your system and before using the commands, you need to authenticate yourself either by using the Login command or by adding the Management token within the CLI session.
Note: Currently, Contentstack does not support strict SSO for CLI authentication. To access CLI from strict SSO-enabled organizations, go to the Organization Settings and change the SSO strict mode to a user-by-user basis. Once done, you can enable it for certain developers or create a developer account that you can share with developers to access the CLI.
Note: Even though we support using delivery token for bulk publishing and unpublishing entries/assets, we recommend using Management token in the CLI session for efficient usability.
Prerequisites
- Contentstack account
- CLI installed on your machine
Commands
Login
The auth:login command lets you log in to Contentstack and save the session.
Open the terminal and run the following command to log in to your Contentstack account. After successful login, the authtoken will be generated automatically which you can use in import and export operations.
Note: Contentstack currently supports three regions: North America, Europe and Azure North America. If you want to use a specific endpoint, other than NA, refer to the Set Region command.
Note: Contentstack CLI now supports Two-factor Authentication, which ensures additional security to your Contentstack account.
Usage
csdx auth:login
OR
csdx login
Options
- -u, --username: Email address of your Contentstack account
- -p, --password: Password can be passed in command
Examples
- csdx auth:login -u youremail@domain.com
- csdx auth:login -u youremail@domain.com -p *****
- csdx auth:login --username youremail@domain.com --password *****
- csdx login -u youremail@domain.com
Logout
The auth:logout command lets you log out of Contentstack and clear the session.
Usage
csdx auth:logout
OR
csdx logout
Options
y, --yes: Exclude confirmation to logout
Examples
- csdx auth:logout -y
- csdx logout -y
Add Management Token
To perform content management tasks, we recommend using the management token.
Note: Before running this command, make sure you have generated a management token in your stack.
The following command lets you add an existing management token from your Contentstack account and save it to the session for further use.
Usage
csdx auth:tokens:add --management
Options
- -a, --alias=alias : Alias (name) you want to assign to the token
- --management: Flag to set management token
- -k, --stack-api-key=stack-api-key: API key of the stack where the token exists
- --token=token: Value of the token
- -y, --yes: Force token replace
Examples
- To use options/parameters in a single line:
csdx auth:tokens:add --management -a tokenname -k blt******** --token cs*********
- To exclude confirmation when replacing the value of an existing management token:
csdx auth:tokens:add --management -a tokenname -k blt******** --token cs********* -y
Add Delivery Token
For Bulk Publish commands, if you don’t want to use the management token, you can use the delivery token instead. However, you will not be able to execute import and export content commands by using the delivery token.
Note: Before running this command, make sure you have generated a delivery token in your stack.
Usage
csdx auth:tokens:add --delivery
Options
- -a, --alias=alias : Alias (name) of your delivery token
- --delivery: Flag to set delivery token
- -e, --environment=environment: Name of the environment to which the delivery token belongs
- -k, --stack-api-key=stack-api-key: API key of the stack where the token exists
- --token=token: Value of the token
- -y, --yes: Force token replace
Examples
- To use options/parameters in a single line:
csdx auth:tokens:add --delivery -a tokenname -k blt******** --token cs*********
- To exclude confirmation when replacing the value of an existing delivery token:
csdx auth:tokens:add --delivery -a tokenname -k blt******** --token cs********* -y
Delete Token
The auth:tokens:remove command lets you delete a management/ delivery token from your local CLI session.
Note: This command will not delete the management/ delivery token from the stack, it deletes the token from the local CLI session.
Usage
csdx auth:tokens:remove
Options
- -a,--alias=alias: Alias (name) of the token to delete.
- -i,--ignore: Ignores if token not present. Command.
Examples
- csdx auth:tokens:remove -a mytoken
- csdx auth:tokens:remove --alias=mytoken
List All Tokens
The auth:tokens command lists the existing tokens added to the session.
Usage
csdx auth:tokens
Options
- -x,--extended: To show extra columns
- --columns=columns: To display specific columns, separated by comma
- --csv: Output is csv format.
- --filter=filter: To filter the property by partial string matching, ex: name=foo
- --no-header: To hide table’s header in output
- --no-truncate: To not truncate output to fit screen
- --output=csv|json|yaml: To display output in a particular format
- --sort=sort: To sort the list, prepend '-' to sort in a descending order
Display Username of a Session
The csdx auth:whoami command returns the username (email address) of the user who is currently logged in to the session.
Usage
csdx auth:whoami
OR
csdx whoami
Additional Resources: Contentstack supports three regions: North America, Europe, and Azure North America. Refer to the configuration guide if you want to use a particular region, other than North America (NA).
Next Steps
- Export and import content
- Publish entries/assets in bulk