curl --request PUT \
--url https://api.exowpee.com/v1/team/member-clients/{memberId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"is_active": true,
"pseudo": "<string>"
}
'import requests
url = "https://api.exowpee.com/v1/team/member-clients/{memberId}"
payload = {
"is_active": True,
"pseudo": "<string>"
}
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({is_active: true, pseudo: '<string>'})
};
fetch('https://api.exowpee.com/v1/team/member-clients/{memberId}', 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/team/member-clients/{memberId}",
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([
'is_active' => true,
'pseudo' => '<string>'
]),
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://api.exowpee.com/v1/team/member-clients/{memberId}"
payload := strings.NewReader("{\n \"is_active\": true,\n \"pseudo\": \"<string>\"\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://api.exowpee.com/v1/team/member-clients/{memberId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"is_active\": true,\n \"pseudo\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/team/member-clients/{memberId}")
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 \"is_active\": true,\n \"pseudo\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"user_id": "<string>",
"pseudo": "<string>",
"phone_number": "<string>",
"email": "<string>",
"is_active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "<string>",
"errors": {}
}Edit a client member
Changes a client member’s display name or activates/deactivates them.
curl --request PUT \
--url https://api.exowpee.com/v1/team/member-clients/{memberId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"is_active": true,
"pseudo": "<string>"
}
'import requests
url = "https://api.exowpee.com/v1/team/member-clients/{memberId}"
payload = {
"is_active": True,
"pseudo": "<string>"
}
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({is_active: true, pseudo: '<string>'})
};
fetch('https://api.exowpee.com/v1/team/member-clients/{memberId}', 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/team/member-clients/{memberId}",
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([
'is_active' => true,
'pseudo' => '<string>'
]),
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://api.exowpee.com/v1/team/member-clients/{memberId}"
payload := strings.NewReader("{\n \"is_active\": true,\n \"pseudo\": \"<string>\"\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://api.exowpee.com/v1/team/member-clients/{memberId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"is_active\": true,\n \"pseudo\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/team/member-clients/{memberId}")
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 \"is_active\": true,\n \"pseudo\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"user_id": "<string>",
"pseudo": "<string>",
"phone_number": "<string>",
"email": "<string>",
"is_active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "<string>",
"errors": {}
}user_clients.update
Conditions
- pseudo, when sent, must be at most 250 characters and unique in the client, ignoring case and surrounding spaces, among the other members and the pending unexpired invitations; this member’s own pseudo is ignored.
- The organization owner cannot be deactivated by someone else: the call is refused with 403 when is_active is false for the owner.
- A caller editing their own membership cannot change their own active state: is_active is silently ignored, only pseudo changes.
- When the member is deactivated, the member’s profile assignments in the client are retired: public accounting export links they created are revoked and stay revoked after reactivation. The assignments themselves are not deleted.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Identifier of the member, meaning the membership record of the person in the company or client space, not the user identifier (27-character KSUID string).
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, user_id, pseudo, phone_number, email, is_active, created_at, updated_at.
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: .
Body
Whether the member is active. Optional; when omitted the state is kept. Ignored when the caller edits their own membership, and refused (403) when it would deactivate the owner.
New display name, at most 250 characters, unique in the company or client among members and pending invitations, ignoring case and surrounding spaces. Optional; when omitted the pseudo is kept.
250Response
Resource (only with response=resource).
Identifier of the membership record (27-character KSUID string); this is what the {member} path parameters expect.
Identifier of the user account behind the member (27-character KSUID string).
Display name of the member in this space; unique within it, ignoring case. May be null when none was set.
Phone number of the underlying account; null when the account has none.
Email address of the underlying account; null when the account has none.
Whether the member can act in this space. Deactivated members keep their record.
Date and time the record was created (ISO 8601, UTC).
Date and time the record was last changed (ISO 8601, UTC).