---
title: "PATCH /api/projects/{project_id}/ai_observability/offline_experiments/{id}/"
method: PATCH
path: "/api/projects/{project_id}/ai_observability/offline_experiments/{id}/"
tags: ["ai_observability"]
---

# PATCH /api/projects/{project_id}/ai_observability/offline_experiments/{id}/

`PATCH /api/projects/{project_id}/ai_observability/offline_experiments/{id}/`

## Request

- Base URL: `https://us.posthog.com`
- URL: `https://us.posthog.com/api/projects/{project_id}/ai_observability/offline_experiments/{id}/`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required
- `project_id` string, required

## Request body

- PatchedOfflineExperimentMetadata
  - `tags` string[]: Tag names. Replaces existing tags; send [] to remove all tags. Names are trimmed and lowercased.

## Response `200`

- OfflineExperimentRead
  - `created_by` UserBasic, required
    - `id` integer, required
    - `uuid` string, uuid, required
    - `distinct_id` string, nullable
    - `first_name` string
    - `last_name` string
    - `email` string, email, required
    - `is_email_verified` boolean, nullable
    - `hedgehog_config` object, nullable, required
    - `role_at_organization` union
      - 'engineering' | 'data' | 'product' | 'founder' | 'leadership' | 'marketing' | 'sales' | 'student' | 'other': * `engineering` - Engineering * `data` - Data * `product` - Product Management * `founder` - Founder * `leadership` - Leadership * `marketing` - Marketing * `sales` - Sales / Success * `student` - Student * `other` - Other
      - ''
      - unknown
  - `tags` string[], required: Project tag names assigned to this experiment.
  - `id` string, uuid, required: Stable experiment UUID.
  - `name` string, required: Experiment name.
  - `run_source` union, required: Execution source. * `ci` - CI * `local` - Local * `scheduled` - Scheduled
    - 'ci' | 'local' | 'scheduled': * `ci` - CI * `local` - Local * `scheduled` - Scheduled
    - unknown
  - `status` 'uploading' | 'completed' | 'failed', required: * `uploading` - Uploading * `completed` - Completed * `failed` - Failed
  - `started_at` string, date-time, required: Caller-supplied execution time.
  - `created_at` string, date-time, required: First server acceptance time.
  - `finished_at` string, date-time, nullable, required: Server closure time, or null while uploading.
  - `expected_item_count` integer, nullable, required: Declared expected items, when supplied.
  - `expected_result_count` integer, nullable, required: Declared expected results across all scorers.
  - `accepted_item_count` integer, required: Observed items, including items without a selected scorer result.
  - `visible_result_count` integer, nullable, required: Results visible to this caller; unavailable without scorer-read scope.
  - `visible_scorer_definition_count` integer, nullable, required: Distinct visible scorer definitions.
  - `visible_scorer_version_count` integer, nullable, required: Distinct visible scorer versions.
  - `result_count_scope` string, required: authorized for visible-result counts, or unavailable without scorer-read scope.
  - `suite_key` string, nullable, required: Durable suite identifier.
  - `dataset_source` string, nullable, required: Dataset provider or source.
  - `dataset_identifier` string, nullable, required: Durable dataset identifier.
  - `dataset_revision_identifier` string, nullable, required: Durable dataset revision identifier.
  - `dataset_revision_id` string, uuid, nullable, required: Optional hosted revision navigation reference.
  - `application_version` string, nullable, required: Application revision under evaluation.
  - `model_version` string, nullable, required: Model revision under evaluation.
  - `prompt_version` string, nullable, required: Prompt revision under evaluation.

## Other responses

- `400`
- `401`
- `403`
- `404`
- `409`
- `413`
- `429`
- `503`

## Changes

> 53 revisions in range; 1 not diffed.

- **2026-10-21** `93118db75a02`: 1 info
  - added the required property `created_by` to the response with the `200` status
- **2026-10-19** `9cd0bb592622`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/posthog/apis/posthog-api/changes/api/projects/:project_id/ai_observability/offline_experiments/:id/patch.md)

---

[API](https://skmtc.dev/posthog/apis/posthog-api.md) · [All operations](https://skmtc.dev/posthog/apis/posthog-api/llms.txt) · [OpenAPI document](https://skmtc.dev/posthog/apis/posthog-api/revisions/993f70ab941b?raw)
