curl --request POST \
--url https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"permissions": [
{
"id": "<string>",
"expires_at": "2023-11-07T05:31:56Z"
}
]
}
'import requests
url = "https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions"
payload = { "permissions": [
{
"id": "<string>",
"expires_at": "2023-11-07T05:31:56Z"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({permissions: [{id: '<string>', expires_at: '2023-11-07T05:31:56Z'}]})
};
fetch('https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions', 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-organizations/{member}/add-permissions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'permissions' => [
[
'id' => '<string>',
'expires_at' => '2023-11-07T05:31:56Z'
]
]
]),
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-organizations/{member}/add-permissions"
payload := strings.NewReader("{\n \"permissions\": [\n {\n \"id\": \"<string>\",\n \"expires_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"permissions\": [\n {\n \"id\": \"<string>\",\n \"expires_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"permissions\": [\n {\n \"id\": \"<string>\",\n \"expires_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"organization_id": "<string>",
"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": {}
}Set member extra permissions
Replaces the extra permissions granted directly to an organization member, each optionally with an expiry date.
curl --request POST \
--url https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"permissions": [
{
"id": "<string>",
"expires_at": "2023-11-07T05:31:56Z"
}
]
}
'import requests
url = "https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions"
payload = { "permissions": [
{
"id": "<string>",
"expires_at": "2023-11-07T05:31:56Z"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({permissions: [{id: '<string>', expires_at: '2023-11-07T05:31:56Z'}]})
};
fetch('https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions', 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-organizations/{member}/add-permissions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'permissions' => [
[
'id' => '<string>',
'expires_at' => '2023-11-07T05:31:56Z'
]
]
]),
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-organizations/{member}/add-permissions"
payload := strings.NewReader("{\n \"permissions\": [\n {\n \"id\": \"<string>\",\n \"expires_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"permissions\": [\n {\n \"id\": \"<string>\",\n \"expires_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/team/member-organizations/{member}/add-permissions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"permissions\": [\n {\n \"id\": \"<string>\",\n \"expires_at\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"organization_id": "<string>",
"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": {}
}organization_members.update
Conditions
- permissions must be present (an empty list is allowed) with at most 5 entries.
- Each id must be the group identifier of a permission that exists for the organization space, without duplicates; otherwise the call is refused.
- expires_at, when sent, must be a date later than now.
- The call replaces the whole set of direct permissions the user holds in the organization space: permissions not listed are removed, and an empty list removes them all.
- The member’s profile assignments and active state are not changed.
- Each permission applies until its expires_at when given.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Identifier of the organization member, meaning the membership record of the person in the organization, not the user identifier (27-character KSUID string).
Body
Complete list of extra permissions to set. Required but may be empty, with at most 5 entries. It replaces the extra permissions held until now.
5Show child attributes
Show child attributes
Response
OrganizationMemberResource
Identifier of the organization the record belongs to.
Identifier of the organization 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).