Breaking change in arize-phoenix-client 2.6.0+ (Python) and arize-phoenix 15.0.0+ (server)Documentation Index
Fetch the complete documentation index at: https://arizeai-433a7140.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
client.datasets.create_dataset() now defaults to upsert semantics: if a dataset with the given name already exists, incoming examples are merged into the latest version rather than returning a 409 Conflict. New examples are created; existing examples matched by their stable id are updated. This is a breaking change for callers that relied on the old fail-on-duplicate behavior.
Upsert behavior
- New dataset — created as before; no behavior change.
- Existing dataset, no
idon examples — examples are appended as new examples in a new version. - Existing dataset,
idsupplied — examples whoseidmatches an existing example are updated in place; unmatchedids are inserted as new examples.
action="create" directly on the REST endpoint — the Python client does not expose this option, as upsert is now the recommended default.
Supply stable example IDs for deterministic updates
Provide anid field on each example so re-uploads update the same row rather than inserting duplicates:

