Decline the BAA (attest no PHI in scope)
curl --request POST \
--url https://api.orbit.devotel.io/api/v1/compliance/baa/decline \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "No PHI processed on this account."
}
'import requests
url = "https://api.orbit.devotel.io/api/v1/compliance/baa/decline"
payload = { "reason": "No PHI processed on this account." }
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({reason: 'No PHI processed on this account.'})
};
fetch('https://api.orbit.devotel.io/api/v1/compliance/baa/decline', 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.orbit.devotel.io/api/v1/compliance/baa/decline",
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' => 'No PHI processed on this account.'
]),
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.orbit.devotel.io/api/v1/compliance/baa/decline"
payload := strings.NewReader("{\n \"reason\": \"No PHI processed on this account.\"\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.orbit.devotel.io/api/v1/compliance/baa/decline")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"No PHI processed on this account.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/compliance/baa/decline")
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 \"reason\": \"No PHI processed on this account.\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"baa_status": "not_required",
"hipaa_required": false,
"expires_at": null,
"days_until_expiry": null
},
"meta": {
"request_id": "req_9s8d7f6g5h4j",
"timestamp": "2026-08-03T12:34:56.000Z"
}
}Compliance
Decline the BAA (attest no PHI in scope)
Records that the organization has no Protected Health Information in scope, so no Business Associate Agreement is required. Sets the BAA status accordingly and writes a compliance.baa.declined audit-chain row with the optional reason. Owner only. An optional free-text reason may be supplied for the audit trail.
POST
/
api
/
v1
/
compliance
/
baa
/
decline
Decline the BAA (attest no PHI in scope)
curl --request POST \
--url https://api.orbit.devotel.io/api/v1/compliance/baa/decline \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "No PHI processed on this account."
}
'import requests
url = "https://api.orbit.devotel.io/api/v1/compliance/baa/decline"
payload = { "reason": "No PHI processed on this account." }
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({reason: 'No PHI processed on this account.'})
};
fetch('https://api.orbit.devotel.io/api/v1/compliance/baa/decline', 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.orbit.devotel.io/api/v1/compliance/baa/decline",
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' => 'No PHI processed on this account.'
]),
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.orbit.devotel.io/api/v1/compliance/baa/decline"
payload := strings.NewReader("{\n \"reason\": \"No PHI processed on this account.\"\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.orbit.devotel.io/api/v1/compliance/baa/decline")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"No PHI processed on this account.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/compliance/baa/decline")
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 \"reason\": \"No PHI processed on this account.\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"baa_status": "not_required",
"hipaa_required": false,
"expires_at": null,
"days_until_expiry": null
},
"meta": {
"request_id": "req_9s8d7f6g5h4j",
"timestamp": "2026-08-03T12:34:56.000Z"
}
}Authorizations
BearerApiKey
Dashboard JWT token from Clerk
Body
application/json
Optional free-text reason recorded on the audit row.
Maximum string length:
500⌘I