Skip to main content

Secrets Settings Page

April 22, 2026 Available in arize-phoenix 14.11.0+ Phoenix now includes a dedicated Settings → Secrets page for managing encrypted LLM provider credentials in the UI. Previously, secrets could only be managed via the PUT /v1/secrets REST API. The new page lets admins add, replace, and delete secrets — such as OPENAI_API_KEY or ANTHROPIC_API_KEY — without writing any API calls.
  • Add a new secret by entering its key name and value
  • Replace an existing secret’s value in place
  • Delete secrets individually
  • Search and filter the secrets list by owner or key name
  • Admin-only — the page and all mutations require admin access

trace_id in Experiment Evaluators

April 22, 2026 Available in arize-phoenix-client 2.4.0+ Experiment evaluator functions can now accept a trace_id parameter. Phoenix passes the originating trace ID for each experiment run, so your evaluator can fetch the corresponding trace or use the ID for correlation.
from phoenix.client import Client

client = Client()

def my_evaluator(output, expected, trace_id=None):
    # Use trace_id to fetch the originating trace if needed
    score = 1.0 if output == expected else 0.0
    return {"score": score, "label": "correct" if score else "incorrect"}

client.experiments.run_experiment(
    dataset="my-dataset",
    task=lambda example: example.input["question"],
    evaluators=[my_evaluator],
)
  • Optional parameter — add trace_id to your evaluator’s keyword arguments; runs that produce a trace pass the ID automatically
  • Works with sync and async evaluators — both function-based and Evaluator protocol implementations support trace_id
  • Custom Evaluator classes — add trace_id to the evaluate or async_evaluate method signature

Run Experiments

Learn how to define tasks and evaluators for experiment runs.