AntflyAntfly

resolver_curation#

Durable resolver identity correction, suppression, review and replay.

list resolvers#

GET/tables/{tableName}/resolvers

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" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

GET/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"

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#

DELETE/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"

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"
  }
}

render resolver key#

POST/tables/{tableName}/resolvers/{resolverName}:render

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:

{
    "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"
}'

Responses#

{
  "minted_key": "string",
  "key": "string",
  "table": "string",
  "config_generation": 0,
  "suppressed": true
}

resolve resolver query#

POST/tables/{tableName}/resolvers/{resolverName}:resolve

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:

{
    "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": {}
}'

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#

POST/tables/{tableName}/resolvers/{resolverName}:namespace

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:

{
    "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
    }
}'

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"
  }
}

list resolver redirects#

GET/tables/{tableName}/resolvers/{resolverName}/redirects

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}/redirects" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

POST/tables/{tableName}/resolvers/{resolverName}/redirects

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",
    "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
    }
}'

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"
  }
}

unmerge resolver key#

DELETE/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
    }
}'

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"
  }
}

list resolver suppressions#

GET/tables/{tableName}/resolvers/{resolverName}/suppressions

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}/suppressions" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

POST/tables/{tableName}/resolvers/{resolverName}/suppressions

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",
    "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
    }
}'

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"
  }
}

unsuppress resolver key#

DELETE/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
    }
}'

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"
  }
}

list resolver reviews#

GET/tables/{tableName}/resolvers/{resolverName}/reviews

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}/reviews" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

POST/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
    }
}'

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"
  }
}

list entity resolver state#

GET/tables/{tableName}/entities/{key}/redirects

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}/entities/{key}/redirects" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

POST/tables/{tableName}/entities/{key}:merge

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:

{
    "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
    }
}'

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
    }
  ]
}

unmerge entity#

POST/tables/{tableName}/entities/{key}:unmerge

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 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
    }
}'

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
    }
  ]
}

suppress entity#

POST/tables/{tableName}/entities/{key}:suppress

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:

{
    "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
    }
}'

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
    }
  ]
}

unsuppress entity#

POST/tables/{tableName}/entities/{key}:unsuppress

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 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
    }
}'

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
    }
  ]
}

list resolvers#

GET/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers

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" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

GET/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"

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#

DELETE/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"

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"
  }
}

render resolver key#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:render

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:

{
    "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"
}'

Responses#

{
  "minted_key": "string",
  "key": "string",
  "table": "string",
  "config_generation": 0,
  "suppressed": true
}

resolve resolver query#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:resolve

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:

{
    "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": {}
}'

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#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}:namespace

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:

{
    "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
    }
}'

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"
  }
}

list resolver redirects#

GET/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects

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}/redirects" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/redirects

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",
    "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
    }
}'

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"
  }
}

unmerge resolver key#

DELETE/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
    }
}'

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"
  }
}

list resolver suppressions#

GET/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions

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}/suppressions" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/suppressions

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",
    "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
    }
}'

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"
  }
}

unsuppress resolver key#

DELETE/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
    }
}'

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"
  }
}

list resolver reviews#

GET/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/resolvers/{resolverName}/reviews

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}/reviews" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

POST/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
    }
}'

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"
  }
}

list entity resolver state#

GET/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}/redirects

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}/entities/{key}/redirects" \
    -H "Authorization: Bearer YOUR_API_KEY"

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#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:merge

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:

{
    "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
    }
}'

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
    }
  ]
}

unmerge entity#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unmerge

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 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
    }
}'

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
    }
  ]
}

suppress entity#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:suppress

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:

{
    "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
    }
}'

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
    }
  ]
}

unsuppress entity#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:unsuppress

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 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
    }
}'

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
    }
  ]
}

proposeCuration#

POST/tables/{tableName}/curation/proposals

Provide 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"
}'

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#

GET/tables/{tableName}/curation/proposals

Provide your bearer token in the Authorization header when making requests to protected resources.

Example: Authorization: Bearer YOUR_API_KEY

Parameters#

NameTypeLocationRequiredDescription
statestringqueryNo
actionstringqueryNo
cursorstringqueryNo
limitintegerqueryNo

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"

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#

GET/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"

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#

POST/tables/{tableName}/curation/proposals/{proposalId}:accept

Provide 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
    }
}'

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": [
    {}
  ]
}

rejectCurationProposal#

POST/tables/{tableName}/curation/proposals/{proposalId}:reject

Provide 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
    }
}'

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": [
    {}
  ]
}

pinEntitiesDistinct#

POST/tables/{tableName}/entities/{key}:distinct

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,
    "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
    }
}'

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
    }
  ]
}

proposeCuration#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals

Provide 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"
}'

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#

GET/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals

Provide your bearer token in the Authorization header when making requests to protected resources.

Example: Authorization: Bearer YOUR_API_KEY

Parameters#

NameTypeLocationRequiredDescription
statestringqueryNo
actionstringqueryNo
cursorstringqueryNo
limitintegerqueryNo

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"

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#

GET/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"

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#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:accept

Provide 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
    }
}'

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": [
    {}
  ]
}

rejectCurationProposal#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/curation/proposals/{proposalId}:reject

Provide 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
    }
}'

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": [
    {}
  ]
}

pinEntitiesDistinct#

POST/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/entities/{key}:distinct

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,
    "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
    }
}'

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
    }
  ]
}