Skip to main content

Create User (Machine)

Create a new user with the type machine for your API, service or device. These users are used for non-interactive authentication flows.

Request Body required
  • userName string required

    Possible values: non-empty and <= 200 characters

  • name string required

    Possible values: non-empty and <= 200 characters

  • description string

    Possible values: <= 500 characters

  • accessTokenType string

    Possible values: [ACCESS_TOKEN_TYPE_BEARER, ACCESS_TOKEN_TYPE_JWT]

    Default value: ACCESS_TOKEN_TYPE_BEARER

Responses

OK


Schema
  • userId string
  • details object
  • sequence uint64

    on read: the sequence of the last event reduced by the projection

    on manipulation: the timestamp of the event(s) added by the manipulation

  • creationDate date-time

    on read: the timestamp of the first event of the object

    on create: the timestamp of the event(s) added by the manipulation

  • changeDate date-time

    on read: the timestamp of the last event reduced by the projection

    on manipulation: the

  • resourceOwner resource_owner is the organization an object belongs to
POST /users/machine

Authorization

type: oauth2flow: authorizationCodescopes: openid,urn:zitadel:iam:org:project:id:zitadel:aud

Request

Base URL
https://$ZITADEL_DOMAIN/management/v1
Bearer Token
Content-Type
Body required
{
"userName": "robot",
"name": "My Machine Account",
"description": "First machine account used for API XY.",
"accessTokenType": "ACCESS_TOKEN_TYPE_BEARER"
}
Accept
curl -L -X POST 'https://$ZITADEL_DOMAIN/management/v1/users/machine' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"userName": "robot",
"name": "My Machine Account",
"description": "First machine account used for API XY.",
"accessTokenType": "ACCESS_TOKEN_TYPE_BEARER"
}'