DEVELOPER · DEVELOPER
Sessions, traces, datasets, and experiment runs in their own project.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
honeyhive_delete_v1_charts_by_chart_idWRITEDelete a chart [Data Plane, project API key] via DELETE /v1/charts/{chart_id}
honeyhive_delete_v1_configurations_by_configidWRITEPermanently delete a configuration by its unique identifier. [Data Plane, project API key] via DELETE /v1/configurations/{configId}
honeyhive_delete_v1_datapoints_by_datapoint_idWRITEPermanently delete a datapoint by its unique identifier. [Data Plane, project API key] via DELETE /v1/datapoints/{datapoint_id}
honeyhive_delete_v1_datasetsWRITEDeprecated. Use `DELETE /v1/datasets/{dataset_id}` instead. [Data Plane, project API key] via DELETE /v1/datasets
honeyhive_delete_v1_datasets_by_dataset_idWRITEPermanently delete a dataset by its unique identifier. [Data Plane, project API key] via DELETE /v1/datasets/{dataset_id}
honeyhive_delete_v1_datasets_by_dataset_id_by_datapoint_idWRITEDeprecated. Use `DELETE /v1/datasets/{dataset_id}/datapoints/{datapoint_id}` instead. [Data Plane, project API key] via DELETE /v1/datasets/{dataset_id}/{datapoint_id}
honeyhive_delete_v1_datasets_by_dataset_id_datapoints_by_datapoint_idWRITERemove a specific datapoint from a dataset. The datapoint itself is not deleted, only dereferenced from the dataset. [Data Plane, project API key] via DELETE /v1/datasets/{dataset_id}/datapoints/{datapoint_id}
honeyhive_delete_v1_metricsWRITEDeprecated. Use `DELETE /v1/metrics/{metric_id}` instead. [Data Plane, project API key] via DELETE /v1/metrics
honeyhive_delete_v1_metrics_by_metric_idWRITEDelete a metric [Data Plane, project API key] via DELETE /v1/metrics/{metric_id}
honeyhive_delete_v1_queues_by_queue_idWRITESoft-delete an annotation queue by its unique identifier. [Data Plane, project API key] via DELETE /v1/queues/{queue_id}
honeyhive_delete_v1_runs_by_run_idWRITEPermanently delete an experiment run by its run ID. [Data Plane, project API key] via DELETE /v1/runs/{run_id}
honeyhive_get_v1_chartsREADRetrieve all charts in the current scope. [Data Plane, project API key] via GET /v1/charts
honeyhive_get_v1_charts_by_chart_idREADRetrieve a single chart by id. [Data Plane, project API key] via GET /v1/charts/{chart_id}
honeyhive_get_v1_configurationsREADList configurations with optional filtering by name, environment, and tags. [Data Plane, project API key] via GET /v1/configurations
honeyhive_get_v1_datapointsREADRetrieve datapoints, optionally filtered by a list of datapoint IDs or dataset name. [Data Plane, project API key] via GET /v1/datapoints
honeyhive_get_v1_datapoints_by_datapoint_idREADGet a single datapoint by its unique identifier. [Data Plane, project API key] via GET /v1/datapoints/{datapoint_id}
honeyhive_get_v1_datasetsREADRetrieve datasets, optionally filtered by dataset ID or name. [Data Plane, project API key] via GET /v1/datasets
honeyhive_get_v1_events_by_event_idREADRetrieve a single event by its unique identifier. The event is fetched directly from S3/MinIO storage. [Data Plane, project API key] via GET /v1/events/{event_id}
honeyhive_get_v1_events_schemaREADDeprecated. Use `GET /v1/runs/{run_id}/schema` (single-run) or `GET /v1/runs/schema` (project-wide) instead. [Data Plane, project API key] via GET /v1/events/schema
honeyhive_get_v1_metricsREADList all metrics [Data Plane, project API key] via GET /v1/metrics
honeyhive_get_v1_metrics_by_metric_id_versionsREADRetrieve all snapshot versions of the metric's definition, ordered oldest-first. Returns the full version history unpaginated. [Data Plane, project API key] via GET /v1/metrics/{metric_id}/versions
honeyhive_get_v1_queuesREADList annotation queues for the current project scope, optionally filtered by enabled status. [Data Plane, project API key] via GET /v1/queues
honeyhive_get_v1_queues_by_queue_idREADRetrieve a single annotation queue by its unique identifier. [Data Plane, project API key] via GET /v1/queues/{queue_id}
honeyhive_get_v1_runsREADList experiment runs with optional filtering by dataset, status, name, date range, and specific run IDs. Results are paginated and sortable. [Data Plane, project API key] via GET /v1/runs
honeyhive_get_v1_runs_by_new_run_id_compare_by_old_run_idREADCompare metrics and results between two experiment runs [Data Plane, project API key] via GET /v1/runs/{new_run_id}/compare/{old_run_id}
honeyhive_get_v1_runs_by_new_run_id_compare_by_old_run_id_eventsREADRetrieve and compare events between two experiment runs for detailed analysis [Data Plane, project API key] via GET /v1/runs/{new_run_id}/compare/{old_run_id}/events
honeyhive_get_v1_runs_by_new_run_id_compare_with_by_old_run_idREADDeprecated. Use `GET /v1/runs/{new_run_id}/compare/{old_run_id}` instead. [Data Plane, project API key] via GET /v1/runs/{new_run_id}/compare-with/{old_run_id}
honeyhive_get_v1_runs_by_run_idREADRetrieve the full details of a single experiment run by its run ID. [Data Plane, project API key] via GET /v1/runs/{run_id}
honeyhive_get_v1_runs_by_run_id_metricsREADRetrieve event metrics from ClickHouse for a specific experiment run [Data Plane, project API key] via GET /v1/runs/{run_id}/metrics
honeyhive_get_v1_runs_by_run_id_resultREADDeprecated. Use `GET /v1/runs/{run_id}/summary` instead. [Data Plane, project API key] via GET /v1/runs/{run_id}/result
honeyhive_get_v1_runs_by_run_id_schemaREADRetrieve the events schema (fields, datasets, mappings) for a single experiment run. [Data Plane, project API key] via GET /v1/runs/{run_id}/schema
honeyhive_get_v1_runs_by_run_id_summaryREADCompute evaluation summary for an experiment run: pass/fail results, metric aggregations, per-datapoint results, event details, and the experiment run object. [Data Plane, project API key] via GET /v1/runs/{run_id}/summary
honeyhive_get_v1_runs_compare_eventsREADDeprecated. Use `GET /v1/runs/{new_run_id}/compare/{old_run_id}/events` instead. [Data Plane, project API key] via GET /v1/runs/compare/events
honeyhive_get_v1_runs_schemaREADRetrieve the aggregated events schema (fields, datasets, mappings) across all experiment runs in the project. [Data Plane, project API key] via GET /v1/runs/schema
honeyhive_post_eventsWRITEDeprecated. Use `POST /v1/events` instead. The legacy route wraps the event object under an `event` key; the v1 route accepts a bare event object. [Data Plane, project API key] via POST /events
honeyhive_post_events_batchWRITEDeprecated. Use `POST /v1/events/batch` instead. The legacy route accepts the deprecated `is_single_session` and `session` aliases and lets per-event objects carry the deprecated `project` field; the v1 route rejects all three at the SDK boundary. [Data Plane, project API key] via POST /events/batch
honeyhive_post_events_modelWRITEDeprecated. Use `POST /v1/events` with `event_type="model"` instead. The `ModelEvent` schema carries 14 field-level deprecations covering the model-specific fields the generic event route now expresses (`model`, `messages`, `response`, `provider`, `usage`, `cost`, `hyperparameters`, `template`, `template_inputs`, `tools`, `tool_choice`, `response_format`, `duration`, `error`), plus `project` inherited from `LegacyEvent`. The legacy route continues to serve traffic and remaps these fields into `inputs.*` / `outputs.*` before storage. [Data Plane, project API key] via POST /events/model
honeyhive_post_events_model_batchWRITEDeprecated. Use `POST /v1/events/batch` with `event_type="model"` on each event instead. Migration notes: the top-level array `model_events` becomes `events`; each element must explicitly set `event_type: "model"` (the legacy route sets this server-side); the deprecated top-level aliases `is_single_session` and `session` are not accepted by the v1 route (`PostEventBatchRequest` is `.strict()`); use `single_session` and `session_properties` instead. The legacy route continues to serve traffic and remaps the model-specific fields on each event (`model`, `messages`, `response`, `provider`, `usage`, `cost`, `hyperparameters`, `template`, `template_inputs`, `tools`, `tool_choice`, `response_format`, `duration`, `error`) into `inputs.*` / `outputs.*` before storage. [Data Plane, project API key] via POST /events/model/batch
honeyhive_post_session_by_session_id_tracesWRITEDeprecated. Use `POST /v1/sessions/{session_id}/events/batch` instead. This route accepts trace events under either `logs` (deprecated) or `events`. Exactly one of the two MUST be present in a request: neither → 400, both → 400. [Data Plane, project API key] via POST /session/{session_id}/traces
honeyhive_post_session_startWRITEDeprecated. Use `POST /v1/sessions` instead. The legacy route wraps the session object under a `session` key; the v1 route accepts a bare session object. [Data Plane, project API key] via POST /session/start
honeyhive_post_v1_chartsWRITECreate a new chart [Data Plane, project API key] via POST /v1/charts
honeyhive_post_v1_configurationsWRITECreate a new LLM or pipeline configuration with provider, parameters, and environment settings. [Data Plane, project API key] via POST /v1/configurations
honeyhive_post_v1_datapointsWRITECreate a single datapoint with inputs, history, ground truth, and metadata. [Data Plane, project API key] via POST /v1/datapoints
honeyhive_post_v1_datapoints_batchWRITECreate multiple datapoints from events using field mappings and optional filters. [Data Plane, project API key] via POST /v1/datapoints/batch
honeyhive_post_v1_datasetsWRITECreate a new dataset with an optional name, description, and initial set of datapoint IDs. [Data Plane, project API key] via POST /v1/datasets
honeyhive_post_v1_datasets_by_dataset_id_datapointsWRITEAdd new datapoints to an existing dataset. Provide raw data objects and a field mapping that specifies which fields map to inputs, ground truth, and history. [Data Plane, project API key] via POST /v1/datasets/{dataset_id}/datapoints
honeyhive_post_v1_eventsWRITECreate a new event (span) within a session trace. The request body is a bare event object (no `event` wrapper). **Required properties:** - `event_type` (string): Must be one of: `chain`, `model`, `tool`, `session`. - `inputs` (object): Input data for the event. **Auto-generated properties** (provided by the server when omitted): - `event_id` (string, UUID): Unique identifier for the event. - `session_id` (string, UUID): Session/trace identifier. - `parent_id` (string, UUID): Parent event ID. Defaults to `session_id`. **Optional properties with defaults:** - `event_name` (string): Name of the event. Defaults to `"unknown"`. - `source` (string): Source of the event (e.g. `sdk-python`). Defaults to `"unknown"`. **Optional properties:** - `config` (object): Configuration data (e.g. model parameters, prompt templates). - `outputs` (object): Output data from the event. - `error` (string or null): Error message if the event failed. - `children_ids` (array of strings): IDs of child events. - `duration` (number): Duration of the event in milliseconds. - `start_time` (number): Unix timestamp in milliseconds for event start. - `end_time` (number): Unix timestamp in milliseconds for event end. - `metadata` (object): Additional metadata (e.g. token counts, cost). - `metrics` (object): Custom metrics. - `feedback` (object): Feedback data (e.g. ratings, ground truth). - `user_properties` (object): User properties associated with the event. [Data Plane, project API key] via POST /v1/events
honeyhive_post_v1_events_batchWRITECreate multiple events in a single request. When `single_session` is true, all events share the same session created from `session_properties`. **Required properties:** - `events` (array of event objects): Each event must include `event_type` (one of `chain`, `model`, `tool`, `session`) and `inputs`. **Optional properties:** - `single_session` (boolean): If true, all events share a single session created from `session_properties`. Defaults to false. - `session_properties` (object): Session metadata used when `single_session` is true. May include `session_name`, `start_time`, `metadata`. Unknown top-level fields and per-event fields are rejected at the SDK boundary; the legacy aliases `is_single_session`, `session`, and per-event `project` are no longer accepted. [Data Plane, project API key] via POST /v1/events/batch
honeyhive_post_v1_events_exportREADDeprecated. Use `POST /v1/events/search` instead. [Data Plane, project API key] via POST /v1/events/export
honeyhive_post_v1_events_searchREADSearch events via POST with filtering and pagination. This is the primary method for retrieving events from HoneyHive. [Data Plane, project API key] via POST /v1/events/search
honeyhive_post_v1_metricsWRITECreate a new metric [Data Plane, project API key] via POST /v1/metrics
honeyhive_post_v1_metrics_by_metric_id_versionsWRITESnapshot the supplied metric definition as a new version. By default the version is created as a draft (`deployed: false`); set `deploy_immediately: true` to also make it the live version in the same transaction. [Data Plane, project API key] via POST /v1/metrics/{metric_id}/versions
honeyhive_post_v1_metrics_by_metric_id_versions_by_version_name_deployWRITEMark the named version as the live version for the metric, unmarking any previously deployed version. [Data Plane, project API key] via POST /v1/metrics/{metric_id}/versions/{version_name}/deploy
honeyhive_post_v1_metrics_runWRITEExecute a metric on a specific event [Data Plane, project API key] via POST /v1/metrics/run
honeyhive_post_v1_metrics_run_metricWRITEDeprecated. Use `POST /v1/metrics/run` instead. [Data Plane, project API key] via POST /v1/metrics/run_metric
honeyhive_post_v1_queuesWRITECreate a new annotation queue with a name, optional description, filters, and an initial set of event IDs to add. [Data Plane, project API key] via POST /v1/queues
honeyhive_post_v1_runsWRITECreate a new experiment run to track an evaluation against a dataset. [Data Plane, project API key] via POST /v1/runs
honeyhive_post_v1_sessionsWRITEStart a new session. The request body is a bare session object (no `session` wrapper). The server creates a session event and returns it. **No required properties.** Every field has a server-side fallback. **Auto-generated properties** (provided by the server when omitted): - `session_id` (string, UUID): Server generates a UUIDv4 if omitted or if the supplied value is not a valid UUID. **Optional properties with defaults:** - `event_name` (string): Falls back to `session_name` when not provided; defaults to `"unknown"` if both are absent. - `source` (string): Defaults to `"unknown"`. **Optional properties:** - `session_name` (string): Display name for the session. - `start_time` (number): Session start time as Unix milliseconds. The session normalizer uses `getInt64()` which only accepts numeric types; if a string is passed, the server silently falls back to the current time. - `end_time` (number): Session end time as Unix milliseconds (same numeric-only caveat as `start_time`). - `duration` (number): Session duration in milliseconds. - `config` (object): Configuration associated with the session. - `inputs` (object): Input data for the session. - `outputs` (object): Output data from the session. - `metadata` (object): Arbitrary metadata. - `user_properties` (object): User properties. - `children_ids` (array of strings): IDs of child events. Idempotent on `session_id`: posting twice with the same `session_id` merges metadata/user_properties into the existing session and returns the existing event. [Data Plane, project API key] via POST /v1/sessions
honeyhive_post_v1_sessions_by_session_id_events_batchWRITEAdd a batch of events to an existing session. Each event in the batch is stored with `session_id` set from the URL path, overriding any `session_id` in the event body. Each event must include `event_type` (one of `chain`, `model`, `tool`, `session`) and `inputs`. Unknown top-level fields and unknown per-event fields are rejected. Events are processed sequentially. For higher-throughput ingestion across sessions, use `POST /v1/events/batch` instead. [Data Plane, project API key] via POST /v1/sessions/{session_id}/events/batch
honeyhive_put_eventsWRITEDeprecated. Use `PUT /v1/events/{event_id}` instead. [Data Plane, project API key] via PUT /events
honeyhive_put_v1_charts_by_chart_idWRITEUpdate a chart's editable fields. Only fields included in the request body are modified. [Data Plane, project API key] via PUT /v1/charts/{chart_id}
honeyhive_put_v1_configurations_by_configidWRITEUpdate an existing configuration's name, provider, parameters, environment, or tags. [Data Plane, project API key] via PUT /v1/configurations/{configId}
honeyhive_put_v1_datapoints_by_datapoint_idWRITEUpdate fields on an existing datapoint. Only the provided fields are modified. [Data Plane, project API key] via PUT /v1/datapoints/{datapoint_id}
honeyhive_put_v1_datasetsWRITEDeprecated. Use `PUT /v1/datasets/{dataset_id}` instead. [Data Plane, project API key] via PUT /v1/datasets
honeyhive_put_v1_datasets_by_dataset_idWRITEUpdate a dataset's name, description, or list of datapoint IDs. [Data Plane, project API key] via PUT /v1/datasets/{dataset_id}
honeyhive_put_v1_events_by_event_idWRITEUpdate fields on an existing event. Only the provided fields are modified; omitted fields are left unchanged. Extra fields not listed below are accepted by the server but silently ignored. [Data Plane, project API key] via PUT /v1/events/{event_id}
honeyhive_put_v1_metricsWRITEDeprecated. Use `PUT /v1/metrics/{metric_id}` instead. [Data Plane, project API key] via PUT /v1/metrics
honeyhive_put_v1_metrics_by_metric_idWRITEUpdate a metric's editable fields. Only fields included in the request body are modified. [Data Plane, project API key] via PUT /v1/metrics/{metric_id}
honeyhive_put_v1_queues_by_queue_idWRITEUpdate fields on an existing annotation queue. Supports updating name, description, filters, enabled status, and adding/removing events. [Data Plane, project API key] via PUT /v1/queues/{queue_id}
honeyhive_put_v1_runs_by_run_idWRITEUpdate fields on an existing experiment run such as name, status, metadata, or results. [Data Plane, project API key] via PUT /v1/runs/{run_id}
Put HoneyHive behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.