curl --request GET \
--url https://api.getoneprofile.ai/table-writeback/write-capabilities/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/table-writeback/write-capabilities/"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/table-writeback/write-capabilities/', 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.getoneprofile.ai/table-writeback/write-capabilities/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.getoneprofile.ai/table-writeback/write-capabilities/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getoneprofile.ai/table-writeback/write-capabilities/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/table-writeback/write-capabilities/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"actions": [
"create"
],
"bulk_actions": [
"<string>"
],
"can_match": true,
"identity_fields_by_action": {},
"suggested_batch_size": 123,
"supports_bulk": true,
"update_modes": [
"<string>"
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Derive what one destination record type can do
The legal write actions (including composite create-or-update), the fields records can be matched on, the supported write modes, and whether matching is possible at all: everything the export editor’s action, match-key and write-mode controls are driven by.
Probes the LIVE connection, so expired credentials fail here with a message about the connection rather than at run time.
curl --request GET \
--url https://api.getoneprofile.ai/table-writeback/write-capabilities/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/table-writeback/write-capabilities/"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/table-writeback/write-capabilities/', 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.getoneprofile.ai/table-writeback/write-capabilities/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.getoneprofile.ai/table-writeback/write-capabilities/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getoneprofile.ai/table-writeback/write-capabilities/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/table-writeback/write-capabilities/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"actions": [
"create"
],
"bulk_actions": [
"<string>"
],
"can_match": true,
"identity_fields_by_action": {},
"suggested_batch_size": 123,
"supports_bulk": true,
"update_modes": [
"<string>"
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Response
Successful Response
What one destination record type can actually do, fully derived.
The write actions this record type supports, including composite upsert.
What one export cell does at the destination.
Its own vocabulary, not a copy of the integration stratum's
WriteBehavior: the members and their values differ, and
table_export_integration translates between the two at the seam
(_WRITE_BEHAVIOR_TO_EXPORT_ACTION). Mirroring has no member here
because it deletes and recreates the whole destination object, which is a
whole-object concern rather than a per-row one.
create, update, upsert Action values with a synchronous bulk write method: the ones a batched export can actually use.
Whether an existing record can be found by field value: the precondition for replay-safe creates. False means only blind creates are possible and the editor must say so.
Selectable match/identity fields per action value. An EMPTY list means the destination resolves identity dynamically (a database: any column), and the picker falls back to the discovered fields.
Show child attributes
Show child attributes
The destination's own recommended batch size, or None.
Whether records can be written in batches.
Supported write modes (replace, patch, set_once) for update/upsert.
Was this page helpful?