curl --request PUT \
--url https://api.exowpee.com/v1/iam/userprofiles/{userProfileId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}', 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://api.exowpee.com/v1/iam/userprofiles/{userProfileId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"is_active": true,
"updated_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"is_default": true,
"working_hours": {},
"is_current": true,
"is_direct_seller": true,
"profile": {},
"company": {},
"client": {},
"organization": {}
}{
"message": "<string>",
"errors": {}
}Update a profile assignment (company)
Lets a member pick their own default profile, or lets a manager set the working hours of an assignment in the company space.
curl --request PUT \
--url https://api.exowpee.com/v1/iam/userprofiles/{userProfileId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}', 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://api.exowpee.com/v1/iam/userprofiles/{userProfileId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/iam/userprofiles/{userProfileId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"is_active": true,
"updated_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"is_default": true,
"working_hours": {},
"is_current": true,
"is_direct_seller": true,
"profile": {},
"company": {},
"client": {},
"organization": {}
}{
"message": "<string>",
"errors": {}
}user_profiles.update
Conditions
- Assignments of built-in profiles (administrator, read only) cannot be changed, except that their owner may set or clear is_default.
- member_id and profile_id are refused: they cannot be changed after creation.
- is_default can be sent only by the person the assignment belongs to, on an active assignment, in a company, client or organization session (not by an agent account). Nobody can set the default of someone else’s assignment.
- working_hours can only be set on the assignment of a custom profile.
- When is_default is true, any other default assignment of the same person in a space of the same kind (any company, any client or any organization) is switched to not default, because a person has one default assignment per kind of space.
- Nothing else changes.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Identifier of the profile assignment (the link between a member and a profile in this company space), not of the profile itself.
Query Parameters
Response mode. Default none; none answers 204 No Content.
none, resource Comma-separated JSON keys of the root resource (id is always rendered). Available: id, is_active, updated_at, created_at, is_default, working_hours, is_current, is_direct_seller.
Comma-separated include paths, each optionally followed by its fields in parentheses: units(id,sku),units.uomUnit(id,name). Max depth 6, max 40 paths. Available: profile, profile.groupedRoles, company, company.organization, client, organization.
Response
Resource (only with response=resource).
Identifier of the profile assignment (27-character KSUID string).
Whether the assignment is active. An inactive assignment cannot be used to sign in or switch profile.
Date and time the record was last changed (ISO 8601, UTC).
Date and time the record was created (ISO 8601, UTC).
Whether this is the person's default assignment, a preference the apps can use to choose a profile. A person has at most one default per kind of space (companies, clients or organizations).
Time windows during which the person may use this assignment, as opening hours per weekday (monday to sunday, each a list of HH:MM-HH:MM ranges) with optional dated exceptions, or null when there is no restriction. Companies can also define their own hours.
Whether the profile of this assignment is the profile of the session making the request.
Whether the assignment counts as a direct seller. Always false outside company spaces.
Profile of the assignment. Only present when requested with include=profile.
Company that owns the assignment. Only present for company assignments and when requested with include=company.
Client that owns the assignment. Only present for client assignments and when requested with include=client.
Organization that owns the assignment. Only present for organization assignments and when requested with include=organization.