Withdraw reusable compliance-claim consent
curl --request POST \
--url https://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "The account holder withdrew consent for future claim reuse."
}
'import requests
url = "https://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations"
payload = { "reason": "The account holder withdrew consent for future claim reuse." }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: 'The account holder withdrew consent for future claim reuse.'})
};
fetch('https://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations', 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://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations",
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([
'reason' => 'The account holder withdrew consent for future claim reuse.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations"
payload := strings.NewReader("{\n \"reason\": \"The account holder withdrew consent for future claim reuse.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"The account holder withdrew consent for future claim reuse.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"The account holder withdrew consent for future claim reuse.\"\n}"
response = http.request(request)
puts response.read_body{
"accountId": "acct_123",
"claimReuse": {
"status": "revoked",
"revokedCount": 3,
"revokedAt": "2026-08-28T10:00:00.000Z"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid"
}
}{
"error": {
"code": "unauthorized",
"message": "Authentication is required"
}
}{
"error": {
"code": "forbidden",
"message": "The credential does not allow this operation"
}
}{
"error": {
"code": "not_found",
"message": "The resource was not found"
}
}{
"error": {
"code": "idempotency_conflict",
"message": "The Idempotency-Key was already used with a different request"
}
}{
"error": {
"code": "chain_config_missing",
"message": "The requested network is not configured for this environment"
}
}{
"error": {
"code": "rate_limited",
"message": "Too many requests"
}
}Capabilities
Withdraw claim reuse consent
Stop reusing the account holder’s saved compliance answers in future capability activations.
POST
/
v2
/
accounts
/
{accountId}
/
compliance-claim-reuse
/
revocations
Withdraw reusable compliance-claim consent
curl --request POST \
--url https://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "The account holder withdrew consent for future claim reuse."
}
'import requests
url = "https://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations"
payload = { "reason": "The account holder withdrew consent for future claim reuse." }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: 'The account holder withdrew consent for future claim reuse.'})
};
fetch('https://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations', 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://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations",
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([
'reason' => 'The account holder withdrew consent for future claim reuse.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations"
payload := strings.NewReader("{\n \"reason\": \"The account holder withdrew consent for future claim reuse.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"The account holder withdrew consent for future claim reuse.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.stableyard.fi/v2/accounts/{accountId}/compliance-claim-reuse/revocations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"The account holder withdrew consent for future claim reuse.\"\n}"
response = http.request(request)
puts response.read_body{
"accountId": "acct_123",
"claimReuse": {
"status": "revoked",
"revokedCount": 3,
"revokedAt": "2026-08-28T10:00:00.000Z"
}
}{
"error": {
"code": "bad_request",
"message": "The request is invalid"
}
}{
"error": {
"code": "unauthorized",
"message": "Authentication is required"
}
}{
"error": {
"code": "forbidden",
"message": "The credential does not allow this operation"
}
}{
"error": {
"code": "not_found",
"message": "The resource was not found"
}
}{
"error": {
"code": "idempotency_conflict",
"message": "The Idempotency-Key was already used with a different request"
}
}{
"error": {
"code": "chain_config_missing",
"message": "The requested network is not configured for this environment"
}
}{
"error": {
"code": "rate_limited",
"message": "Too many requests"
}
}Call this when the account holder withdraws consent to reuse their saved compliance answers. Send a
reason of 10 to 500 characters. The call is idempotent.
A later capability activation may ask the account holder for those answers again. Withdrawing consent does not recall information already shared, and capabilities that are already approved stay approved.Authorizations
HTTP Basic auth. Username is the Stableyard app ID. Password is the app secret. The optional Stableyard-Version request header must match the environment pin.
Headers
Optional contract-version assertion. Omit it to use the app environment's pinned version. A different supported version is accepted only after that environment is explicitly migrated.
Available options:
2026-09-09 Path Parameters
Canonical account id returned by the Accounts API.
Example:
"acct_123"
Body
application/json
Required string length:
10 - 500Example:
"The account holder withdrew consent for future claim reuse."