resolver_curation
Durable resolver identity correction, suppression, review and replay.
list resolvers
/tables/{tableName}/resolversProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/tables/{tableName}/resolvers" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/resolvers', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/tables/{tableName}/resolvers', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/tables/{tableName}/resolvers", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolvers": [
{
"name": "string",
"source_table": "string",
"entity_table": "string",
"key_template": "string",
"declaring_indexes": [
"string"
],
"retired": true,
"config": {
"name": "string",
"table": "string",
"source_artifact": "string",
"source_artifact_kind": "asset",
"resolution_artifact": "string",
"key_template": "string",
"promote": true,
"aliases": [
{
"key": "string",
"target": "string"
}
],
"labels": [
"string"
],
"type_must_match": true,
"scorer": {
"comparisons": [
{
"name": "string",
"left": "string",
"right": "string",
"levels": [
{
"when": "string",
"else": true,
"weight": 0
}
]
}
],
"combine": {
"bias": 0
},
"decision": {
"match": 0,
"review": 0
}
},
"adjudicate": {
"decider": {
"provider": "antfly",
"decision_method": "typed",
"generator": {
"provider": "openai",
"model": "gpt-4.1",
"temperature": 0.7,
"max_tokens": 2048
},
"instructions": "string",
"output": "auto",
"probabilities": "token_logprobs",
"batch": {
"max_items_per_call": 1,
"max_input_bytes": 1
},
"model": "string",
"model_identity": "string",
"embedding_options": {
"calibration_id": "string",
"task_type": "CLUSTERING",
"dimensions": 768,
"min_similarity": -1,
"min_margin": 0
},
"url": "string",
"api_key": "string",
"max_rows": 1,
"max_input_tokens": 1,
"max_image_input_tokens": 1,
"rate_limit": {
"pacing": "token_bucket",
"requests_per_minute": 1,
"burst": 1,
"tokens_per_minute": 1,
"max_concurrency": 1
},
"batch_size": 1
},
"template": "string",
"question": {
"type": "choice",
"name": "string",
"instructions": "string",
"choices": [
{
"value": "string",
"description": "string",
"examples": [
"string"
]
}
],
"embedding_options": {
"calibration_id": "string",
"min_similarity": -1,
"min_margin": 0
}
},
"accept": {
"choice": "string",
"min_probability": 0.5
},
"reject": {
"choice": "string",
"min_probability": 0.5
},
"on_failure": "review",
"description_inputs": {
"mention_artifact": "string",
"candidate_artifact": "string"
},
"budget_ms": 1,
"max_pairs": 1,
"max_input_bytes": 1,
"timeout_ms": 1
},
"suppress": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0
},
"scorer_json": "string",
"candidate_search": "",
"candidate_ann_index": "string",
"candidate_limit": 0,
"name_embedding": "string",
"name_embedding_dims": 0,
"fusion_combine": "",
"fusion_trust": 0,
"fusion_prior": 0,
"fusion_prior_weight": 0,
"min_confidence": 0,
"config_generation": 0
},
"revision": 0,
"namespace_generation": 0,
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"curation": {
"version": 1,
"suppress": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0,
"entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"text_entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
]
},
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"removed_aliases": [
"string"
]
},
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}
]
}get resolver
/tables/{tableName}/resolvers/{resolverName}Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/tables/{tableName}/resolvers/{resolverName}" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/tables/{tableName}/resolvers/{resolverName}', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/tables/{tableName}/resolvers/{resolverName}", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"name": "string",
"source_table": "string",
"entity_table": "string",
"key_template": "string",
"declaring_indexes": [
"string"
],
"retired": true,
"config": {
"name": "string",
"table": "string",
"source_artifact": "string",
"source_artifact_kind": "asset",
"resolution_artifact": "string",
"key_template": "string",
"promote": true,
"aliases": [
{
"key": "string",
"target": "string"
}
],
"labels": [
"string"
],
"type_must_match": true,
"scorer": {
"comparisons": [
{
"name": "string",
"left": "string",
"right": "string",
"levels": [
{
"when": "string",
"else": true,
"weight": 0
}
]
}
],
"combine": {
"bias": 0
},
"decision": {
"match": 0,
"review": 0
}
},
"adjudicate": {
"decider": {
"provider": "antfly",
"decision_method": "typed",
"generator": {
"provider": "openai",
"model": "gpt-4.1",
"temperature": 0.7,
"max_tokens": 2048
},
"instructions": "string",
"output": "auto",
"probabilities": "token_logprobs",
"batch": {
"max_items_per_call": 1,
"max_input_bytes": 1
},
"model": "string",
"model_identity": "string",
"embedding_options": {
"calibration_id": "string",
"task_type": "CLUSTERING",
"dimensions": 768,
"min_similarity": -1,
"min_margin": 0
},
"url": "string",
"api_key": "string",
"max_rows": 1,
"max_input_tokens": 1,
"max_image_input_tokens": 1,
"rate_limit": {
"pacing": "token_bucket",
"requests_per_minute": 1,
"burst": 1,
"tokens_per_minute": 1,
"max_concurrency": 1
},
"batch_size": 1
},
"template": "string",
"question": {
"type": "choice",
"name": "string",
"instructions": "string",
"choices": [
{
"value": "string",
"description": "string",
"examples": [
"string"
]
}
],
"embedding_options": {
"calibration_id": "string",
"min_similarity": -1,
"min_margin": 0
}
},
"accept": {
"choice": "string",
"min_probability": 0.5
},
"reject": {
"choice": "string",
"min_probability": 0.5
},
"on_failure": "review",
"description_inputs": {
"mention_artifact": "string",
"candidate_artifact": "string"
},
"budget_ms": 1,
"max_pairs": 1,
"max_input_bytes": 1,
"timeout_ms": 1
},
"suppress": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0
},
"scorer_json": "string",
"candidate_search": "",
"candidate_ann_index": "string",
"candidate_limit": 0,
"name_embedding": "string",
"name_embedding_dims": 0,
"fusion_combine": "",
"fusion_trust": 0,
"fusion_prior": 0,
"fusion_prior_weight": 0,
"min_confidence": 0,
"config_generation": 0
},
"revision": 0,
"namespace_generation": 0,
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"curation": {
"version": 1,
"suppress": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0,
"entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"text_entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
]
},
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"removed_aliases": [
"string"
]
},
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}drop resolver identity
/tables/{tableName}/resolvers/{resolverName}Runtime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X DELETE "/db/v1/tables/{tableName}/resolvers/{resolverName}" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.delete('/db/v1/tables/{tableName}/resolvers/{resolverName}', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("DELETE", "/db/v1/tables/{tableName}/resolvers/{resolverName}", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}render resolver key
/tables/{tableName}/resolvers/{resolverName}:renderRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"text": "string",
"label": "string",
"local_id": "string"
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/resolvers/{resolverName}:render" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "string",
"label": "string",
"local_id": "string"
}'const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}:render', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "string",
"label": "string",
"local_id": "string"
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}:render', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "string",
"label": "string",
"local_id": "string"
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/resolvers/{resolverName}:render',
headers=headers,
json={
"text": "string",
"label": "string",
"local_id": "string"
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"text": "string",
"label": "string",
"local_id": "string"
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/resolvers/{resolverName}:render", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"minted_key": "string",
"key": "string",
"table": "string",
"config_generation": 0,
"suppressed": true
}resolve resolver query
/tables/{tableName}/resolvers/{resolverName}:resolveRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"text": "string",
"extraction": {}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/resolvers/{resolverName}:resolve" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "string",
"extraction": {}
}'const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}:resolve', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "string",
"extraction": {}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}:resolve', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "string",
"extraction": {}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/resolvers/{resolverName}:resolve',
headers=headers,
json={
"text": "string",
"extraction": {}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"text": "string",
"extraction": {}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/resolvers/{resolverName}:resolve", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"extraction": {},
"resolution": {
"config_generation": 0,
"skipped_mentions": 0,
"entities": [
{
"local_id": "string",
"doc_ref": {
"table": "string",
"key": "string",
"storage_table": "string"
},
"confidence": 0,
"decision": "new",
"label": "string",
"canonical_name": "string",
"surface_form": "string",
"rendered_key": "string",
"redirected_from": "string",
"suppressed": true,
"suppression_reason": "key",
"identity_restored": true,
"adjudication": {
"execution_hash": "string",
"specification_hash": "string",
"input_hash": "string",
"candidate_hash": "string",
"candidate_table": "string",
"candidate_key": "string",
"deterministic_probability": 0,
"status": "accepted",
"response": {},
"failure": "string"
}
}
],
"_resolution_work": {}
}
}set resolver namespace
/tables/{tableName}/resolvers/{resolverName}:namespaceRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/resolvers/{resolverName}:namespace" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}:namespace', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}:namespace', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/resolvers/{resolverName}:namespace',
headers=headers,
json={
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/resolvers/{resolverName}:namespace", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}list resolver redirects
/tables/{tableName}/resolvers/{resolverName}/redirectsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"revision": 0
}merge resolver keys
/tables/{tableName}/resolvers/{resolverName}/redirectsRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects',
headers=headers,
json={
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}unmerge resolver key
/tables/{tableName}/resolvers/{resolverName}/redirects/{key}Runtime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X DELETE "/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects/{key}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects/{key}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects/{key}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.delete(
'/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects/{key}',
headers=headers,
json={
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("DELETE", "/db/v1/tables/{tableName}/resolvers/{resolverName}/redirects/{key}", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}list resolver suppressions
/tables/{tableName}/resolvers/{resolverName}/suppressionsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"configured": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0
},
"runtime": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0,
"entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"text_entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
]
},
"revision": 0
}suppress resolver keys
/tables/{tableName}/resolvers/{resolverName}/suppressionsRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions',
headers=headers,
json={
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}unsuppress resolver key
/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}Runtime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X DELETE "/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.delete(
'/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}',
headers=headers,
json={
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("DELETE", "/db/v1/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}list resolver reviews
/tables/{tableName}/resolvers/{resolverName}/reviewsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"reviews": [
{
"id": "string",
"source_key": "string",
"local_id": "string",
"label": "string",
"surface_form": "string",
"key": "string",
"table": "string",
"confidence": 0,
"config_generation": 0,
"adjudication": {
"execution_hash": "string",
"specification_hash": "string",
"input_hash": "string",
"candidate_hash": "string",
"candidate_table": "string",
"candidate_key": "string",
"deterministic_probability": 0,
"status": "accepted",
"response": {},
"failure": "string"
}
}
],
"next_cursor": "string"
}review resolver mention
/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}Runtime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}',
headers=headers,
json={
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}list entity resolver state
/tables/{tableName}/entities/{key}/redirectsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/tables/{tableName}/entities/{key}/redirects" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/entities/{key}/redirects', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/entities/{key}/redirects', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/tables/{tableName}/entities/{key}/redirects', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/tables/{tableName}/entities/{key}/redirects", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}merge entity
/tables/{tableName}/entities/{key}:mergeRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/entities/{key}:merge" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/entities/{key}:merge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/entities/{key}:merge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/entities/{key}:merge',
headers=headers,
json={
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/entities/{key}:merge", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}unmerge entity
/tables/{tableName}/entities/{key}:unmergeRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/entities/{key}:unmerge" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/entities/{key}:unmerge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/entities/{key}:unmerge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/entities/{key}:unmerge',
headers=headers,
json={
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/entities/{key}:unmerge", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}suppress entity
/tables/{tableName}/entities/{key}:suppressRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/entities/{key}:suppress" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/entities/{key}:suppress', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/entities/{key}:suppress', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/entities/{key}:suppress',
headers=headers,
json={
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/entities/{key}:suppress", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}unsuppress entity
/tables/{tableName}/entities/{key}:unsuppressRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/entities/{key}:unsuppress" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/entities/{key}:unsuppress', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/entities/{key}:unsuppress', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/entities/{key}:unsuppress',
headers=headers,
json={
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/entities/{key}:unsuppress", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}list resolvers
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolversProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolvers": [
{
"name": "string",
"source_table": "string",
"entity_table": "string",
"key_template": "string",
"declaring_indexes": [
"string"
],
"retired": true,
"config": {
"name": "string",
"table": "string",
"source_artifact": "string",
"source_artifact_kind": "asset",
"resolution_artifact": "string",
"key_template": "string",
"promote": true,
"aliases": [
{
"key": "string",
"target": "string"
}
],
"labels": [
"string"
],
"type_must_match": true,
"scorer": {
"comparisons": [
{
"name": "string",
"left": "string",
"right": "string",
"levels": [
{
"when": "string",
"else": true,
"weight": 0
}
]
}
],
"combine": {
"bias": 0
},
"decision": {
"match": 0,
"review": 0
}
},
"adjudicate": {
"decider": {
"provider": "antfly",
"decision_method": "typed",
"generator": {
"provider": "openai",
"model": "gpt-4.1",
"temperature": 0.7,
"max_tokens": 2048
},
"instructions": "string",
"output": "auto",
"probabilities": "token_logprobs",
"batch": {
"max_items_per_call": 1,
"max_input_bytes": 1
},
"model": "string",
"model_identity": "string",
"embedding_options": {
"calibration_id": "string",
"task_type": "CLUSTERING",
"dimensions": 768,
"min_similarity": -1,
"min_margin": 0
},
"url": "string",
"api_key": "string",
"max_rows": 1,
"max_input_tokens": 1,
"max_image_input_tokens": 1,
"rate_limit": {
"pacing": "token_bucket",
"requests_per_minute": 1,
"burst": 1,
"tokens_per_minute": 1,
"max_concurrency": 1
},
"batch_size": 1
},
"template": "string",
"question": {
"type": "choice",
"name": "string",
"instructions": "string",
"choices": [
{
"value": "string",
"description": "string",
"examples": [
"string"
]
}
],
"embedding_options": {
"calibration_id": "string",
"min_similarity": -1,
"min_margin": 0
}
},
"accept": {
"choice": "string",
"min_probability": 0.5
},
"reject": {
"choice": "string",
"min_probability": 0.5
},
"on_failure": "review",
"description_inputs": {
"mention_artifact": "string",
"candidate_artifact": "string"
},
"budget_ms": 1,
"max_pairs": 1,
"max_input_bytes": 1,
"timeout_ms": 1
},
"suppress": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0
},
"scorer_json": "string",
"candidate_search": "",
"candidate_ann_index": "string",
"candidate_limit": 0,
"name_embedding": "string",
"name_embedding_dims": 0,
"fusion_combine": "",
"fusion_trust": 0,
"fusion_prior": 0,
"fusion_prior_weight": 0,
"min_confidence": 0,
"config_generation": 0
},
"revision": 0,
"namespace_generation": 0,
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"curation": {
"version": 1,
"suppress": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0,
"entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"text_entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
]
},
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"removed_aliases": [
"string"
]
},
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}
]
}get resolver
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"name": "string",
"source_table": "string",
"entity_table": "string",
"key_template": "string",
"declaring_indexes": [
"string"
],
"retired": true,
"config": {
"name": "string",
"table": "string",
"source_artifact": "string",
"source_artifact_kind": "asset",
"resolution_artifact": "string",
"key_template": "string",
"promote": true,
"aliases": [
{
"key": "string",
"target": "string"
}
],
"labels": [
"string"
],
"type_must_match": true,
"scorer": {
"comparisons": [
{
"name": "string",
"left": "string",
"right": "string",
"levels": [
{
"when": "string",
"else": true,
"weight": 0
}
]
}
],
"combine": {
"bias": 0
},
"decision": {
"match": 0,
"review": 0
}
},
"adjudicate": {
"decider": {
"provider": "antfly",
"decision_method": "typed",
"generator": {
"provider": "openai",
"model": "gpt-4.1",
"temperature": 0.7,
"max_tokens": 2048
},
"instructions": "string",
"output": "auto",
"probabilities": "token_logprobs",
"batch": {
"max_items_per_call": 1,
"max_input_bytes": 1
},
"model": "string",
"model_identity": "string",
"embedding_options": {
"calibration_id": "string",
"task_type": "CLUSTERING",
"dimensions": 768,
"min_similarity": -1,
"min_margin": 0
},
"url": "string",
"api_key": "string",
"max_rows": 1,
"max_input_tokens": 1,
"max_image_input_tokens": 1,
"rate_limit": {
"pacing": "token_bucket",
"requests_per_minute": 1,
"burst": 1,
"tokens_per_minute": 1,
"max_concurrency": 1
},
"batch_size": 1
},
"template": "string",
"question": {
"type": "choice",
"name": "string",
"instructions": "string",
"choices": [
{
"value": "string",
"description": "string",
"examples": [
"string"
]
}
],
"embedding_options": {
"calibration_id": "string",
"min_similarity": -1,
"min_margin": 0
}
},
"accept": {
"choice": "string",
"min_probability": 0.5
},
"reject": {
"choice": "string",
"min_probability": 0.5
},
"on_failure": "review",
"description_inputs": {
"mention_artifact": "string",
"candidate_artifact": "string"
},
"budget_ms": 1,
"max_pairs": 1,
"max_input_bytes": 1,
"timeout_ms": 1
},
"suppress": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0
},
"scorer_json": "string",
"candidate_search": "",
"candidate_ann_index": "string",
"candidate_limit": 0,
"name_embedding": "string",
"name_embedding_dims": 0,
"fusion_combine": "",
"fusion_trust": 0,
"fusion_prior": 0,
"fusion_prior_weight": 0,
"min_confidence": 0,
"config_generation": 0
},
"revision": 0,
"namespace_generation": 0,
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"curation": {
"version": 1,
"suppress": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0,
"entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"text_entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
]
},
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"removed_aliases": [
"string"
]
},
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}drop resolver identity
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}Runtime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X DELETE "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.delete('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("DELETE", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}render resolver key
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:renderRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"text": "string",
"label": "string",
"local_id": "string"
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:render" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "string",
"label": "string",
"local_id": "string"
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:render', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "string",
"label": "string",
"local_id": "string"
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:render', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "string",
"label": "string",
"local_id": "string"
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:render',
headers=headers,
json={
"text": "string",
"label": "string",
"local_id": "string"
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"text": "string",
"label": "string",
"local_id": "string"
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:render", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"minted_key": "string",
"key": "string",
"table": "string",
"config_generation": 0,
"suppressed": true
}resolve resolver query
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:resolveRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"text": "string",
"extraction": {}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:resolve" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "string",
"extraction": {}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:resolve', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "string",
"extraction": {}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:resolve', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "string",
"extraction": {}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:resolve',
headers=headers,
json={
"text": "string",
"extraction": {}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"text": "string",
"extraction": {}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:resolve", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"extraction": {},
"resolution": {
"config_generation": 0,
"skipped_mentions": 0,
"entities": [
{
"local_id": "string",
"doc_ref": {
"table": "string",
"key": "string",
"storage_table": "string"
},
"confidence": 0,
"decision": "new",
"label": "string",
"canonical_name": "string",
"surface_form": "string",
"rendered_key": "string",
"redirected_from": "string",
"suppressed": true,
"suppression_reason": "key",
"identity_restored": true,
"adjudication": {
"execution_hash": "string",
"specification_hash": "string",
"input_hash": "string",
"candidate_hash": "string",
"candidate_table": "string",
"candidate_key": "string",
"deterministic_probability": 0,
"status": "accepted",
"response": {},
"failure": "string"
}
}
],
"_resolution_work": {}
}
}set resolver namespace
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:namespaceRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:namespace" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:namespace', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:namespace', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:namespace',
headers=headers,
json={
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"table": "string",
"key_template": "string",
"reset_merges": true,
"reset_curation": true,
"key_map": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"aliases": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:namespace", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}list resolver redirects
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirectsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"revision": 0
}merge resolver keys
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirectsRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects',
headers=headers,
json={
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"from": "string",
"to": "string",
"replace": true,
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}unmerge resolver key
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects/{key}Runtime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X DELETE "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects/{key}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects/{key}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects/{key}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.delete(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects/{key}',
headers=headers,
json={
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("DELETE", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects/{key}", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}list resolver suppressions
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressionsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"configured": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0
},
"runtime": {
"keys": [
"string"
],
"texts": [
"string"
],
"min_text_chars": 0,
"entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"text_entries": [
{
"key": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
]
},
"revision": 0
}suppress resolver keys
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressionsRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions',
headers=headers,
json={
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"keys": [
"string"
],
"texts": [
"string"
],
"add": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"remove": {
"keys": [
"string"
],
"texts": [
"string"
]
},
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}unsuppress resolver key
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}Runtime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X DELETE "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.delete(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}',
headers=headers,
json={
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("DELETE", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions/{key}", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}list resolver reviews
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviewsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"reviews": [
{
"id": "string",
"source_key": "string",
"local_id": "string",
"label": "string",
"surface_form": "string",
"key": "string",
"table": "string",
"confidence": 0,
"config_generation": 0,
"adjudication": {
"execution_hash": "string",
"specification_hash": "string",
"input_hash": "string",
"candidate_hash": "string",
"candidate_table": "string",
"candidate_key": "string",
"deterministic_probability": 0,
"status": "accepted",
"response": {},
"failure": "string"
}
}
],
"next_cursor": "string"
}review resolver mention
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}Runtime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}',
headers=headers,
json={
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"decision": "match",
"key": "string",
"table": "string",
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews/{reviewId}", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}{
"resolver": "string",
"changed": true,
"revision": 0,
"replay_sequence": 0,
"replay_sequence_kind": "resolver_revision",
"metadata_commit": {},
"applied": true,
"progress": {
"applied": true,
"shards": [
{
"group_id": 0,
"available": true,
"fresh": true,
"curation_revision": 0,
"config_generation": 0,
"effective_generation": 0,
"backfill_pending": true,
"resolution": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
},
"promotion": {
"enabled": true,
"target_sequence": 0,
"applied_sequence": 0,
"catch_up_required": true,
"blocked": true,
"blocked_reason": "string",
"error_count": 0
}
}
],
"observation_error": "string"
}
}list entity resolver state
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}/redirectsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}/redirects" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}/redirects', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}/redirects', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}/redirects', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}/redirects", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}merge entity
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:mergeRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:merge" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:merge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:merge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:merge',
headers=headers,
json={
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"expected_revision": 0,
"actor": "string",
"reason": "string",
"into": "string",
"replace": true,
"pin_distinct": true,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:merge", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}unmerge entity
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unmergeRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unmerge" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unmerge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unmerge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unmerge',
headers=headers,
json={
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unmerge", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}suppress entity
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:suppressRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:suppress" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:suppress', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:suppress', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:suppress',
headers=headers,
json={
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"absorbed": "reject",
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:suppress", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}unsuppress entity
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unsuppressRuntime curation is owned by the source table and resolver identity, independent of graph index versions. Accepted changes replay through bounded resolution and promotion journals. Repeating a request is safe. Entity operations report each affected resolver; atomicity is per source table, and partial outcomes must be retried. Render and resolve are reads.
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unsuppress" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unsuppress', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unsuppress', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unsuppress',
headers=headers,
json={
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"actor": "string",
"reason": "string",
"pin_distinct": true,
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unsuppress", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}proposeCuration
/tables/{tableName}/curation/proposalsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/curation/proposals" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
}'const response = await fetch('/db/v1/tables/{tableName}/curation/proposals', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/curation/proposals', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/curation/proposals',
headers=headers,
json={
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/curation/proposals", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}listCurationProposals
/tables/{tableName}/curation/proposalsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
state | string | query | No | |
action | string | query | No | |
cursor | string | query | No | |
limit | integer | query | No |
Code Examples
curl -X GET "/db/v1/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"proposals": [
{
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"next_cursor": "string"
}getCurationProposal
/tables/{tableName}/curation/proposals/{proposalId}Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/tables/{tableName}/curation/proposals/{proposalId}" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/tables/{tableName}/curation/proposals/{proposalId}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/curation/proposals/{proposalId}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/tables/{tableName}/curation/proposals/{proposalId}', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/tables/{tableName}/curation/proposals/{proposalId}", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}acceptCurationProposal
/tables/{tableName}/curation/proposals/{proposalId}:acceptProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/curation/proposals/{proposalId}:accept" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/curation/proposals/{proposalId}:accept', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/curation/proposals/{proposalId}:accept', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/curation/proposals/{proposalId}:accept',
headers=headers,
json={
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/curation/proposals/{proposalId}:accept", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"proposal": {
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
},
"complete": true,
"changed": true,
"atomicity": "namespace",
"applied": true,
"results": [
{}
]
}{
"proposal": {
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
},
"complete": true,
"changed": true,
"atomicity": "namespace",
"applied": true,
"results": [
{}
]
}rejectCurationProposal
/tables/{tableName}/curation/proposals/{proposalId}:rejectProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/curation/proposals/{proposalId}:reject" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/curation/proposals/{proposalId}:reject', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/curation/proposals/{proposalId}:reject', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/curation/proposals/{proposalId}:reject',
headers=headers,
json={
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/curation/proposals/{proposalId}:reject", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"proposal": {
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
},
"complete": true,
"changed": true,
"atomicity": "namespace",
"applied": true,
"results": [
{}
]
}{
"proposal": {
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
},
"complete": true,
"changed": true,
"atomicity": "namespace",
"applied": true,
"results": [
{}
]
}pinEntitiesDistinct
/tables/{tableName}/entities/{key}:distinctProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/tables/{tableName}/entities/{key}:distinct" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/tables/{tableName}/entities/{key}:distinct', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/tables/{tableName}/entities/{key}:distinct', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/tables/{tableName}/entities/{key}:distinct',
headers=headers,
json={
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/tables/{tableName}/entities/{key}:distinct", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}proposeCuration
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposalsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals',
headers=headers,
json={
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"actor": "string",
"reason": "string"
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}listCurationProposals
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposalsProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
state | string | query | No | |
action | string | query | No | |
cursor | string | query | No | |
limit | integer | query | No |
Code Examples
curl -X GET "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals?state=value&action=value&cursor=value&limit=value", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"proposals": [
{
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"next_cursor": "string"
}getCurationProposal
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Code Examples
curl -X GET "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}', headers=headers)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}acceptCurationProposal
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:acceptProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:accept" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:accept', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:accept', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:accept',
headers=headers,
json={
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:accept", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"proposal": {
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
},
"complete": true,
"changed": true,
"atomicity": "namespace",
"applied": true,
"results": [
{}
]
}{
"proposal": {
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
},
"complete": true,
"changed": true,
"atomicity": "namespace",
"applied": true,
"results": [
{}
]
}rejectCurationProposal
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:rejectProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:reject" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:reject', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:reject', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:reject',
headers=headers,
json={
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"pin_distinct": true,
"actor": "string",
"reason": "string",
"expected_revision": 0,
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:reject", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"proposal": {
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
},
"complete": true,
"changed": true,
"atomicity": "namespace",
"applied": true,
"results": [
{}
]
}{
"proposal": {
"id": "string",
"action": "merge",
"key": "string",
"into": "string",
"options": {
"replace": true,
"pin_distinct": true,
"absorbed": "reject"
},
"confidence": 0,
"evidence": {},
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
},
"state": "open",
"decided": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
},
"complete": true,
"changed": true,
"atomicity": "namespace",
"applied": true,
"results": [
{}
]
}pinEntitiesDistinct
/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:distinctProvide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer YOUR_API_KEY
Request Body
Example:
{
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
}
Code Examples
curl -X POST "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:distinct" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
}'const response = await fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:distinct', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
})
});
const data = await response.json();fetch('/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:distinct', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
})
})
.then(response => response.json())
.then(data => console.log(data));import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(
'/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:distinct',
headers=headers,
json={
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
}
)
data = response.json()package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body := []byte(`{
"expected_revision": 0,
"into": "string",
"actor": "string",
"reason": "string",
"wait": {
"timeout_ms": 1
}
}`)
req, _ := http.NewRequest("POST", "/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:distinct", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}Responses
{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}{
"entity_table": "string",
"key": "string",
"complete": true,
"atomicity": "namespace",
"results": [
{
"source_table": "string",
"resolver": "string",
"key_template": "string",
"canonical_key": "string",
"curation": {},
"revision": 0,
"absorbed": [
{
"key": "string",
"disposition": "release"
}
],
"changed": true,
"replay_sequence": 0,
"applied": true,
"retired": true,
"error": "string",
"redirects": [
{
"key": "string",
"target": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"distinct": [
{
"from": "string",
"to": "string",
"origin": {
"origin": "manual",
"actor": "string",
"reason": "string",
"created_at_ms": 0,
"revision": 0,
"proposal_id": "string",
"cascade_from": "string"
}
}
],
"configured_suppressed": true,
"runtime_suppressed": true
}
]
}