Update user.
curl --request PUT \
--url https://{tenant}/api/users/{userId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"active": true,
"email_address": "itachi@gmail.com",
"first_name": "itachi",
"last_name": "sasuke",
"user_permissions": {
"IsAdmin": "admin"
}
}
'import requests
url = "https://{tenant}/api/users/{userId}"
payload = {
"active": True,
"email_address": "itachi@gmail.com",
"first_name": "itachi",
"last_name": "sasuke",
"user_permissions": { "IsAdmin": "admin" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
active: true,
email_address: 'itachi@gmail.com',
first_name: 'itachi',
last_name: 'sasuke',
user_permissions: {IsAdmin: 'admin'}
})
};
fetch('https://{tenant}/api/users/{userId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant}/api/users/{userId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'active' => true,
'email_address' => 'itachi@gmail.com',
'first_name' => 'itachi',
'last_name' => 'sasuke',
'user_permissions' => [
'IsAdmin' => 'admin'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant}/api/users/{userId}"
payload := strings.NewReader("{\n \"active\": true,\n \"email_address\": \"itachi@gmail.com\",\n \"first_name\": \"itachi\",\n \"last_name\": \"sasuke\",\n \"user_permissions\": {\n \"IsAdmin\": \"admin\"\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://{tenant}/api/users/{userId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"active\": true,\n \"email_address\": \"itachi@gmail.com\",\n \"first_name\": \"itachi\",\n \"last_name\": \"sasuke\",\n \"user_permissions\": {\n \"IsAdmin\": \"admin\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}/api/users/{userId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"active\": true,\n \"email_address\": \"itachi@gmail.com\",\n \"first_name\": \"itachi\",\n \"last_name\": \"sasuke\",\n \"user_permissions\": {\n \"IsAdmin\": \"admin\"\n }\n}"
response = http.request(request)
puts response.read_body{
"Message": "User updated",
"Meta": null,
"Status": "OK"
}{
"Message": "user does not exist.",
"Meta": null,
"Status": "Error"
}{
"Message": "Not authorised",
"Meta": null,
"Status": "Error"
}{
"Message": "To create a user specify at least one permission, or make them an admin.",
"Meta": null,
"Status": "Error"
}{
"Message": "Attempted unauthorised access.",
"Meta": null,
"Status": "Error"
}Users
Update user.
Update a user with user ID. If you update the user as inactive they will be logged out of all dashboard sessions. User password can only be updated via admin API or the update password endpoint. ResetPassword is also only available via the admin API.
PUT
/
api
/
users
/
{userId}
Update user.
curl --request PUT \
--url https://{tenant}/api/users/{userId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"active": true,
"email_address": "itachi@gmail.com",
"first_name": "itachi",
"last_name": "sasuke",
"user_permissions": {
"IsAdmin": "admin"
}
}
'import requests
url = "https://{tenant}/api/users/{userId}"
payload = {
"active": True,
"email_address": "itachi@gmail.com",
"first_name": "itachi",
"last_name": "sasuke",
"user_permissions": { "IsAdmin": "admin" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
active: true,
email_address: 'itachi@gmail.com',
first_name: 'itachi',
last_name: 'sasuke',
user_permissions: {IsAdmin: 'admin'}
})
};
fetch('https://{tenant}/api/users/{userId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant}/api/users/{userId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'active' => true,
'email_address' => 'itachi@gmail.com',
'first_name' => 'itachi',
'last_name' => 'sasuke',
'user_permissions' => [
'IsAdmin' => 'admin'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant}/api/users/{userId}"
payload := strings.NewReader("{\n \"active\": true,\n \"email_address\": \"itachi@gmail.com\",\n \"first_name\": \"itachi\",\n \"last_name\": \"sasuke\",\n \"user_permissions\": {\n \"IsAdmin\": \"admin\"\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://{tenant}/api/users/{userId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"active\": true,\n \"email_address\": \"itachi@gmail.com\",\n \"first_name\": \"itachi\",\n \"last_name\": \"sasuke\",\n \"user_permissions\": {\n \"IsAdmin\": \"admin\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}/api/users/{userId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"active\": true,\n \"email_address\": \"itachi@gmail.com\",\n \"first_name\": \"itachi\",\n \"last_name\": \"sasuke\",\n \"user_permissions\": {\n \"IsAdmin\": \"admin\"\n }\n}"
response = http.request(request)
puts response.read_body{
"Message": "User updated",
"Meta": null,
"Status": "OK"
}{
"Message": "user does not exist.",
"Meta": null,
"Status": "Error"
}{
"Message": "Not authorised",
"Meta": null,
"Status": "Error"
}{
"Message": "To create a user specify at least one permission, or make them an admin.",
"Meta": null,
"Status": "Error"
}{
"Message": "Attempted unauthorised access.",
"Meta": null,
"Status": "Error"
}Authorizations
The Tyk Dashboard API Access Credentials
Path Parameters
USER ID of the user to update
Body
application/json
Was this page helpful?
⌘I