Update Account Settings
curl --request PUT \
--url https://staging-api.puppetvendors.com/settings/accounts \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"currentPassword": "<string>",
"password": "<string>",
"confirmPassword": "<string>"
}
'import requests
url = "https://staging-api.puppetvendors.com/settings/accounts"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"currentPassword": "<string>",
"password": "<string>",
"confirmPassword": "<string>"
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
email: '<string>',
currentPassword: '<string>',
password: '<string>',
confirmPassword: '<string>'
})
};
fetch('https://staging-api.puppetvendors.com/settings/accounts', 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://staging-api.puppetvendors.com/settings/accounts",
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([
'firstName' => '<string>',
'lastName' => '<string>',
'email' => '<string>',
'currentPassword' => '<string>',
'password' => '<string>',
'confirmPassword' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <api-key>"
],
]);
$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://staging-api.puppetvendors.com/settings/accounts"
payload := strings.NewReader("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"currentPassword\": \"<string>\",\n \"password\": \"<string>\",\n \"confirmPassword\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-access-token", "<api-key>")
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://staging-api.puppetvendors.com/settings/accounts")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"currentPassword\": \"<string>\",\n \"password\": \"<string>\",\n \"confirmPassword\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging-api.puppetvendors.com/settings/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"currentPassword\": \"<string>\",\n \"password\": \"<string>\",\n \"confirmPassword\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAccount Settings
Update Account Settings
Update the authenticated user’s account information or password
PUT
/
settings
/
accounts
Update Account Settings
curl --request PUT \
--url https://staging-api.puppetvendors.com/settings/accounts \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"currentPassword": "<string>",
"password": "<string>",
"confirmPassword": "<string>"
}
'import requests
url = "https://staging-api.puppetvendors.com/settings/accounts"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"currentPassword": "<string>",
"password": "<string>",
"confirmPassword": "<string>"
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
email: '<string>',
currentPassword: '<string>',
password: '<string>',
confirmPassword: '<string>'
})
};
fetch('https://staging-api.puppetvendors.com/settings/accounts', 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://staging-api.puppetvendors.com/settings/accounts",
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([
'firstName' => '<string>',
'lastName' => '<string>',
'email' => '<string>',
'currentPassword' => '<string>',
'password' => '<string>',
'confirmPassword' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <api-key>"
],
]);
$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://staging-api.puppetvendors.com/settings/accounts"
payload := strings.NewReader("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"currentPassword\": \"<string>\",\n \"password\": \"<string>\",\n \"confirmPassword\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-access-token", "<api-key>")
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://staging-api.puppetvendors.com/settings/accounts")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"currentPassword\": \"<string>\",\n \"password\": \"<string>\",\n \"confirmPassword\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging-api.puppetvendors.com/settings/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"currentPassword\": \"<string>\",\n \"password\": \"<string>\",\n \"confirmPassword\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyV2 Preview — This endpoint is part of the V2 API preview. Breaking changes may occur.
Overview
Update the authenticated user’s account. Can modify first name, last name, email, and password. For password changes,currentPassword and confirmPassword are required, and currentPassword must match the user’s existing password. For email changes, the new email must not already be in use. Vendor tokens can only update their own account.
Request Body
New email address (must be unique).
Required when changing password.
New password.
Must match
password.Response
200
{
"success": true,
"data": {
"_id": "507f1f77bcf86cd799439011",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"lastLogin": "2026-04-15T14:22:31.000Z"
}
}
Error Responses
400
{ "success": false, "error": { "message": "Current password is incorrect" } }
409
{ "success": false, "error": { "message": "Email already in use" } }
Example
curl -X PUT "https://staging-api.puppetvendors.com/settings/accounts" \
-H "x-access-token: YOUR_VENDOR_JWT" \
-H "Content-Type: application/json" \
-d '{
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"currentPassword": "myCurrentPassword123",
"password": "newSecurePassword123",
"confirmPassword": "newSecurePassword123"
}'
More Examples
Change passwordcurl -X PUT "https://staging-api.puppetvendors.com/settings/accounts" \
-H "Content-Type: application/json" \
-H "x-access-token: YOUR_VENDOR_JWT" \
-d '{
"currentPassword": "old-password-123",
"password": "new-secure-password-456",
"confirmPassword": "new-secure-password-456"
}'
Was this page helpful?
⌘I