.. _edit_user: Method: Edit User ----------------- Description ~~~~~~~~~~~ Edit a StoredSafe user. .. note:: This requires :ref:`Admin` capabilities. URL Syntax ~~~~~~~~~~ /api/{version}/user/:user-id HTTP Method ~~~~~~~~~~~ PUT Successful HTTP Response ~~~~~~~~~~~~~~~~~~~~~~~~ 200 Parameters ~~~~~~~~~~ +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ | Parameter name | Description | Parameter type | Type | Requirements | Mandatory | Comment | +================+================================+================+=========+===================+===========+=====================+ | X-Http-Token | StoredSafe token | HTTP Header | String | | :sup:`1)` | Preferred method | +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ | token | StoredSafe token | JSON-encoded | String | | :sup:`1)` | Legacy method | +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ | user-id | User-ID | URL-parameter | Integer | | Yes | | +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ | username | Username | JSON-encoded | String | Length 5 to 32 | | | +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ | status | :ref:`User Capabilities` | JSON-encoded | Array | | | | +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ | fullname | Fullname | JSON-encoded | String | Length 5 to 64 | | | +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ | email | Email | JSON-encoded | String | Length 5 to 128 | | | +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ | otpprefix | Yubikey Client-ID to be added | JSON-encoded | String | Length 12 (exact) | | Max 3 keys per user | +----------------+--------------------------------+----------------+---------+-------------------+-----------+---------------------+ .. note:: :sup:`1)` One of the methods is required. Response Attributes ~~~~~~~~~~~~~~~~~~~ +---------------------+-------------------------------------------------+---------+ | Attribute | Description | Type | +=====================+=================================================+=========+ | CALLINFO.errorcodes | Number of errors | Integer | +---------------------+-------------------------------------------------+---------+ | CALLINFO.errors | Number of errors | Integer | +---------------------+-------------------------------------------------+---------+ | CALLINFO.general | Information | Array | +---------------------+-------------------------------------------------+---------+ | CALLINFO.handler | Handler used | String | +---------------------+-------------------------------------------------+---------+ | CALLINFO.status | SUCCESS or FAIL | String | +---------------------+-------------------------------------------------+---------+ | CALLINFO.token | StoredSafe token to be used in subsequent calls | String | +---------------------+-------------------------------------------------+---------+ | DATA | Supplied data in prior API-call | String | +---------------------+-------------------------------------------------+---------+ | HEADERS.(headers) | HTTP Headers | String | +---------------------+-------------------------------------------------+---------+ | PARAMS | Route parameters (empty) | Array | +---------------------+-------------------------------------------------+---------+ | ERRORCODES | Error code and text (Only present if errors) | Object | +---------------------+-------------------------------------------------+---------+ | ERRORS | Error code and text (Only present if errors) | Array | +---------------------+-------------------------------------------------+---------+ Examples ~~~~~~~~ Change the capabilities for Mr Foo Manchu and add the Audit capability (See :ref:`bits`), and adjust the email address. **Request** :: POST /api/1.0/user/149 x-http-token: your_storedsafe_token { "status": [ 2, 3, 7 ], "email": "mrfoo@manchu.com", } **Response** :: HTTP/2 201 Content-type: application/json; charset=UTF-8 { "CALLINFO": { "calculated_status": 140, "errorcodes": 0, "errors": 0, "general": [], "handler": "UserHandler", "status": "SUCCESS", "token": "rotated_storedsafe_token", "user_created": "Foo Manchu" }, "DATA": { "email": "mrfoo@manchu.com", "status": [ 2, 3, 7 ], "token": "your_storedsafe_token" }, "HEADERS": { "Accept": "*/*", "Content-Length": "169", "Content-Type": "application/json", "Host": "safe.domain.cc", "User-Agent": "curl/7.64.1", "X-Http-Token": "your_storedsafe_token" }, "PARAMS": [] }