curl --request GET \
--url https://api.getdialed.ai/v1/data/stores/{store} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getdialed.ai/v1/data/stores/{store}"
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.getdialed.ai/v1/data/stores/{store}', 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.getdialed.ai/v1/data/stores/{store}",
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.getdialed.ai/v1/data/stores/{store}"
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.getdialed.ai/v1/data/stores/{store}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getdialed.ai/v1/data/stores/{store}")
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{
"slug": "<string>",
"tier": "<string>",
"version": 123,
"record_key": {
"field": "<string>",
"format": "<string>"
},
"fields": {},
"sources": [
"<string>"
],
"precedence": {
"default_order": [
"<string>"
],
"field_overrides": {}
},
"config_version": 123,
"recompute": {
"pending": 123
},
"changed_event_type": "<string>",
"summary_event_type": "<string>",
"record_retention_days": 123,
"history_retention_days": 123
}{
"detail": "Authentication required"
}{
"detail": "Store not found"
}{
"detail": "Validation error"
}{
"detail": "Rate limit exceeded"
}Get a data store
Returns everything the store declares — its typed fields, its record key, the complete set of sources that may write to it — plus the precedence in effect for your account and how many records are still awaiting recompute. An unknown store returns 404.
curl --request GET \
--url https://api.getdialed.ai/v1/data/stores/{store} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getdialed.ai/v1/data/stores/{store}"
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.getdialed.ai/v1/data/stores/{store}', 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.getdialed.ai/v1/data/stores/{store}",
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.getdialed.ai/v1/data/stores/{store}"
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.getdialed.ai/v1/data/stores/{store}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getdialed.ai/v1/data/stores/{store}")
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{
"slug": "<string>",
"tier": "<string>",
"version": 123,
"record_key": {
"field": "<string>",
"format": "<string>"
},
"fields": {},
"sources": [
"<string>"
],
"precedence": {
"default_order": [
"<string>"
],
"field_overrides": {}
},
"config_version": 123,
"recompute": {
"pending": 123
},
"changed_event_type": "<string>",
"summary_event_type": "<string>",
"record_retention_days": 123,
"history_retention_days": 123
}{
"detail": "Authentication required"
}{
"detail": "Store not found"
}{
"detail": "Validation error"
}{
"detail": "Rate limit exceeded"
}Authorizations
Path Parameters
Response
Successful Response
Everything one store declares, plus the precedence in effect for you.
The field map is the store's own type declaration, so a form or table can be rendered from this response alone — including which values are allowed, which may be null, and how each value should be handled.
Identifies the store in every store URL.
Which kind of store this is.
Version of the store's platform declaration.
How a store's record key is formed.
Show child attributes
Show child attributes
Every field the store declares, keyed by field name.
Show child attributes
Show child attributes
Every source that may ever write a layer to this store.
The precedence currently deciding this store's resolved values.
For each field, the first source in that field's order which asserts a value wins. A field's order is also the list of sources allowed to write it, so one place answers both "who wins" and "who may say anything at all".
Show child attributes
Show child attributes
Version of your precedence settings. Every record records the version its resolved view was computed with, which is what makes a view left behind by a precedence change detectable.
Whether every record's resolved view reflects the current precedence.
Changing precedence invalidates the resolved views computed under the old
settings, and they are recomputed in the background. While that is running,
bulk queries legitimately mix records resolved under the old precedence with
records resolved under the new one. pending reaching zero is how you know
the window has closed.
Show child attributes
Show child attributes
The event emitted when a record's resolved value changes. Subscribe to this exact name to react to changes.
The event emitted once per completed sync, carrying that sync's totals. Subscribe to this one for bulk reactions.
How long records are kept. Null means indefinitely.
How long history rows are kept. Null means indefinitely.