Skip to content

Create and manage Intake users

To begin creating and managing your Intakes via the STACKIT CLI, ensure you have the following in place:

When creating a user, you must define its type and provide a strong password.

TypePurposePermissions
intakeFor data producers (applications/services) to send messages to the IntakeWrite-only access to the Intake topic.
dead-letterFor debugging purposes to read failed messages.Read-only access to the Intake’s Dead Letter Queue (DLQ) topic.

Passwords are not stored in a retrievable format. Clients are expected to keep track of the passwords on their own. For security, STACKIT enforces passwords to be strong: at least 12 characters, including lower/upper case, numbers, and special characters.

FlagDescriptionOptionsDefaultOptional
intake-idthe ID of the Intake into which the User will be deployedUUID of the Intake
display-namea human-readable name for the IntakeString, not longer than 32 characters
passwordthe password for the userString, at least 12 characters, upper / lower case, numbers, special characters
typethe type of the userOne of:<br>• intake<br>• dead-letter
descriptiona description of the user’s purposeString, not longer than 1024 characters""x
labelslabels in key=value format. Allows one to classify the purpose of the Intake userkey=value format, separated by commas. Example: “key1=value1,key2=value2”[]x

To create an Intake user, execute the following command:

Terminal window
stackit beta Intake user create --intake-id <INTAKE_ID> --display-name <NAME> --password <PASSWORD> --type <TYPE> --description <DESCRIPTION> --labels <LABELS>

The response to this command should look like this:

Created Intake user for Intake "17802315-32c2-48ce-a33d-3043d8aec89b". User ID: e9e65d48-0d4e-44f3-8dc0-6091b5381e0b
Terminal window
stackit beta Intake user create --intake-id 17802315-32c2-48ce-a33d-3043d8aec89b \
--display-name iot-producer \
--password 'MyVerySecretPassword!2025!ProdUser1' \
--type intake

You can check the status and details of any specific Intake user.

ArgumentDescription
USER_IDthe ID of the Intake user we are interested in.
FlagDescription
intake-idthe ID of the Intake the Intake user belongs to
Terminal window
stackit beta Intake user describe <USER_ID> --intake-id <INTAKE_ID>

This will result in an output like the following:

ATTRIBUTE │ VALUE
──────────────────────────┼──────────────────────────────────────────────────
ID │ e9e65d48-0d4e-44f3-8dc0-6091b5381e0b
Name │ producer
State │ active
Created │ 2025-10-16 15:58:58 +0000 UTC
Labels │ <nil>
Type │ intake
Username │ intake-user-e9e65d48-0d4e-44f3-8dc0-6091b5381e0b
──────────────────────────┼──────────────────────────────────────────────────
Java Client Config │
──────────────────────────┼──────────────────────────────────────────────────
librdkafka Client Config │

To list all Intake users for an Intake:

FlagDescription
intake-idthe ID of the Intake in whose users we are interested in
Terminal window
stackit beta Intake user list --intake-id <INTAKE_ID>

This will result in output like the following:

ID │ NAME │ STATE │ TYPE │ USERNAME
──────────────────────────────────────┼──────────┼────────┼────────┼──────────────────────────────────────────────────
e9e65d48-0d4e-44f3-8dc0-6091b5381e0b │ producer │ active │ intake │ intake-user-e9e65d48-0d4e-44f3-8dc0-6091b5381e0b

You can update an Intake user’s properties. For example, you can change a user’s password.

ArgumentDescription
USER_IDthe ID of the Intake user we are interested in.
FlagDescriptionOptions
intake-idthe ID of the Intake to which the user belongsUUID of the Intake
display-namea human-readable name for the IntakeString, not longer than 32 characters
passwordthe password for the userString, at least 12 characters, upper / lower case, numbers, special characters
descriptiona description of the user’s purposeString, not longer than 1024 characters
labelslabels in key=value format. Allows one to classify the purpose of the Intake userkey=value format, separated by commas. Example: “key1=value1,key2=value2”

To update your Intake user, execute the command providing the ID of the Intake user and the relevant flags:

Terminal window
stackit beta Intake user update <USER_ID> --intake-id <INTAKE_ID> --display-name <NAME> --password <PASSWORD> --description <DESCRIPTION> --labels <LABELS>

When the update command has been sent, the CLI will return respond with a text like this:

Update Request for Intake user "e9e65d48-0d4e-44f3-8dc0-6091b5381e0b" sent successfully.

Change the labels of an Intake user:

Terminal window
stackit beta Intake user update e9e65d48-0d4e-44f3-8dc0-6091b5381e0b --intake-id 17802315-32c2-48ce-a33d-3043d8aec89b --labels "dept=billing,stage=test"

Refresh the password of an Intake user:

Terminal window
stackit beta intake update 9e65d48-0d4e-44f3-8dc0-6091b5381e0b --intake-id 17802315-32c2-48ce-a33d-3043d8aec89b --password "SUPER_SECRET_PASSWORD"

Deleting an Intake user immediately revokes the associated application’s access to the Intake stream:

ArgumentDescription
USER_IDthe ID of the Intake user we are interested in.
FlagDescription
intake-idthe ID of the Intake the Intake user belongs to
Terminal window
stackit beta Intake user delete <USER_ID> --intake-id <INTAKE_ID>
Terminal window
stackit beta Intake user delete --intake-id 17802315-32c2-48ce-a33d-3043d8aec89b e9e65d48-0d4e-44f3-8dc0-6091b5381e0b