curl --request PUT \
--url https://api.extole.io/v5/persons/{person_id}/block \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "reason",
"type": "EVENTS"
}
'import requests
url = "https://api.extole.io/v5/persons/{person_id}/block"
payload = {
"reason": "reason",
"type": "EVENTS"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: 'reason', type: 'EVENTS'})
};
fetch('https://api.extole.io/v5/persons/{person_id}/block', 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.extole.io/v5/persons/{person_id}/block",
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([
'reason' => 'reason',
'type' => 'EVENTS'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.extole.io/v5/persons/{person_id}/block"
payload := strings.NewReader("{\n \"reason\": \"reason\",\n \"type\": \"EVENTS\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<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://api.extole.io/v5/persons/{person_id}/block")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"reason\",\n \"type\": \"EVENTS\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v5/persons/{person_id}/block")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"reason\",\n \"type\": \"EVENTS\"\n}"
response = http.request(request)
puts response.read_body{
"reason": "<string>",
"type": "EVENTS",
"updated_date": "2025-10-24T02:00:00-07:00"
}Update person block status
Updates the block record for the specified person. Set type to EVENTS to block event participation, REWARDS to block reward fulfilment, or NONE to remove any block. Supply an optional reason string for audit purposes. Returns the updated block record.
Fields omitted from the body are left unchanged, except type, which the request schema marks required and which every request must send.
curl --request PUT \
--url https://api.extole.io/v5/persons/{person_id}/block \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "reason",
"type": "EVENTS"
}
'import requests
url = "https://api.extole.io/v5/persons/{person_id}/block"
payload = {
"reason": "reason",
"type": "EVENTS"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: 'reason', type: 'EVENTS'})
};
fetch('https://api.extole.io/v5/persons/{person_id}/block', 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.extole.io/v5/persons/{person_id}/block",
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([
'reason' => 'reason',
'type' => 'EVENTS'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.extole.io/v5/persons/{person_id}/block"
payload := strings.NewReader("{\n \"reason\": \"reason\",\n \"type\": \"EVENTS\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<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://api.extole.io/v5/persons/{person_id}/block")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"reason\",\n \"type\": \"EVENTS\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v5/persons/{person_id}/block")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"reason\",\n \"type\": \"EVENTS\"\n}"
response = http.request(request)
puts response.read_body{
"reason": "<string>",
"type": "EVENTS",
"updated_date": "2025-10-24T02:00:00-07:00"
}Authorizations
Path Parameters
The Extole unique profile identifier of this user at Extole.
Body
PersonBlockRequest object
Response
Successful response
Reason provided when the block was last updated. Absent when no reason was recorded.
Current block scope. EVENTS means event participation is blocked, REWARDS means reward fulfilment is blocked, NONE means unblocked.
EVENTS, NONE, REWARDS RFC 3339 or RFC 9557 date-time with a numeric UTC offset and an optional IANA time-zone suffix in square brackets. Precision up to milliseconds.
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9])(\[[^\]]+\])?$"2025-10-24T02:00:00-07:00"
