Update password - Fabric
Update password
cURL
curl --request PATCH \
--url https://demo.fabric.zone/api-commerceIdentity/auth/password \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"userId": "6169b2d892a5f30009d76480",
"resetToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...",
"newPassword": "ABC123"
}
'
Python
import requests
url = "https://demo.fabric.zone/api-commerceIdentity/auth/password"
payload = {
"userId": "6169b2d892a5f30009d76480",
"resetToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...",
"newPassword": "ABC123"
}
headers = {
"x-site-context": "<x-site-context>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch)
const options = {
method: 'PATCH',
headers: {
'x-site-context': '<x-site-context>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
userId: '6169b2d892a5f30009d76480',
resetToken: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...',
newPassword: 'ABC123'
})
};
fetch('https://demo.fabric.zone/api-commerceIdentity/auth/password', 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://demo.fabric.zone/api-commerceIdentity/auth/password",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'userId' => '6169b2d892a5f30009d76480',
'resetToken' => 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...',
'newPassword' => 'ABC123'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-site-context: <x-site-context>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://demo.fabric.zone/api-commerceIdentity/auth/password"
payload := strings.NewReader("{\n \"userId\": \"6169b2d892a5f30009d76480\",\n \"resetToken\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...\",\n \"newPassword\": \"ABC123\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("x-api-key", "<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))
}
Java (Unirest)
HttpResponse<String> response = Unirest.patch("https://demo.fabric.zone/api-commerceIdentity/auth/password")
.header("x-site-context", "<x-site-context>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"userId\": \"6169b2d892a5f30009d76480\",\n \"resetToken\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...\",\n \"newPassword\": \"ABC123\"\}")
.asString();
Ruby
require 'uri'
require 'net/http'
url = URI("https://demo.fabric.zone/api-commerceIdentity/auth/password")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-site-context"] = '<x-site-context>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"userId\": \"6169b2d892a5f30009d76480\",\n \"resetToken\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4...\",\n \"newPassword\": \"ABC123\"\}";
response = http.request(request)
puts response.read_body
Response Examples
Successful Response
{
"isActive": true,
"registrationDate": "2020-04-15T10:08:04.246Z",
"expiryDate": "2020-04-15T10:08:04.246Z",
"roles": "customer",
"name": {
"first": "Pat",
"middle": "E",
"last": "Kake"
},
"phone": [
{
"number": "555-123-4567",
"countryCode": "+91",
"extenstion": "x-6789",
"kind": "Mobile"
}
],
"email": "test@mail.com",
"extra": {},
"registrationSite": "XXX",
"account": "xxxxxcxxxxxxxxxxxxxx",
"userId": "6169b2d892a5f30009d76480",
"address": [
{
"address1": "1234 Main St.",
"city": "Houston",
"state": "TX",
"country": "USA",
"zipCode": 77035,
"email": "test@mail.com",
"isValidated": true,
"isDefault": true,
"attention": "Account Manager",
"address2": "Suite 710",
"address3": "Floor 7",
"company": "Acme Inc.",
"kind": "Business",
"phone": {
"number": "555-123-4567",
"kind": "Mobile"
},
"name": {
"first": "Pat",
"last": "Kake"
}
}
],
"provider": [
{
"id": "6228f647a257734d91dbb49f",
"name": "LOCAL",
"isActive": true,
"registrationDate": "2020-04-15T10:08:04.246Z",
"lastLoginDate": "2020-04-15T10:08:04.246Z"
}
],
"createdAt": "2020-04-15T10:08:04.246Z",
"updatedAt": "2020-04-15T10:08:04.246Z"
}
Error Responses
TOKEN_HAS_EXPIRED
{ "error": "TOKEN_HAS_EXPIRED", "code": "400", "message": "This reset token is no longer valid" }TOKEN_NOT_FOUND
{ "error": "TOKEN_NOT_FOUND", "code": "404", "message": "Token not found" }INTERNAL_SERVER_ERROR
{ "error": "INTERNAL_SERVER_ERROR", "code": "500", "message": "Internal server error" }
Authorization
- ApiKeyAuthBearerAuthApiKeyAuthBearerAuth
- Header:
x-api-key- REQUIRED
- Header:
x-site-context- REQUIRED
- Should include information about the source to pull from.