cURL
curl --request POST \
--url https://api.example.com/v1/account/privacy/export \
--header 'X-CSRF-Token: <x-csrf-token>'import requests
url = "https://api.example.com/v1/account/privacy/export"
headers = {"X-CSRF-Token": "<x-csrf-token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-CSRF-Token': '<x-csrf-token>'}};
fetch('https://api.example.com/v1/account/privacy/export', 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.example.com/v1/account/privacy/export",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-CSRF-Token: <x-csrf-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/account/privacy/export"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-CSRF-Token", "<x-csrf-token>")
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.example.com/v1/account/privacy/export")
.header("X-CSRF-Token", "<x-csrf-token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/account/privacy/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CSRF-Token"] = '<x-csrf-token>'
response = http.request(request)
puts response.read_body{
"version": "omniflow.account.export/1",
"generatedAt": "2023-11-07T05:31:56Z",
"profile": {},
"redactions": [
"<string>"
],
"truncated": [
"<string>"
],
"identities": [
{}
],
"contacts": [
{}
],
"subscriptions": [
{}
],
"entitlements": [
{}
],
"orders": [
{}
],
"payments": [
{}
],
"wallet": [
{}
],
"support": [
{}
],
"referral": {},
"loyalty": {},
"consents": [
{}
],
"lifecycle": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"request_id": "<string>"
}account
Post v1accountprivacyexport
Produces the customer’s own records synchronously as a download. It is not queued because a queued export would need a delivery channel, a retention window, and a link that authenticates on its own — three further disclosure decisions to answer a question that fits in one response. The document declares its own redactions and names any section it truncated.
POST
/
v1
/
account
/
privacy
/
export
cURL
curl --request POST \
--url https://api.example.com/v1/account/privacy/export \
--header 'X-CSRF-Token: <x-csrf-token>'import requests
url = "https://api.example.com/v1/account/privacy/export"
headers = {"X-CSRF-Token": "<x-csrf-token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-CSRF-Token': '<x-csrf-token>'}};
fetch('https://api.example.com/v1/account/privacy/export', 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.example.com/v1/account/privacy/export",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-CSRF-Token: <x-csrf-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/account/privacy/export"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-CSRF-Token", "<x-csrf-token>")
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.example.com/v1/account/privacy/export")
.header("X-CSRF-Token", "<x-csrf-token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/account/privacy/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CSRF-Token"] = '<x-csrf-token>'
response = http.request(request)
puts response.read_body{
"version": "omniflow.account.export/1",
"generatedAt": "2023-11-07T05:31:56Z",
"profile": {},
"redactions": [
"<string>"
],
"truncated": [
"<string>"
],
"identities": [
{}
],
"contacts": [
{}
],
"subscriptions": [
{}
],
"entitlements": [
{}
],
"orders": [
{}
],
"payments": [
{}
],
"wallet": [
{}
],
"support": [
{}
],
"referral": {},
"loyalty": {},
"consents": [
{}
],
"lifecycle": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"request_id": "<string>"
}Headers
Echoes the token from the current session. Required on every unsafe method.
Response
Export document
The customer's own records. It names what it left out in redactions and which sections hit the per-section row cap in truncated, because an export that silently omitted something would be worse than one that says so.
Available options:
omniflow.account.export/1