---
title: "Create Experiment"
method: POST
path: "/api/v1/geo/hotels/{geo_hotel_id}/experiments"
tags: ["geo-monitoring", "geo-hotels"]
---

# Create Experiment

`POST /api/v1/geo/hotels/{geo_hotel_id}/experiments`

## Request

- Base URL: `https://api.getanana.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getanana.com/api/v1/geo/hotels/{geo_hotel_id}/experiments`
- Auth: none declared

Create a later experiment (Experiment 2+) as a Draft with NO prompt
generation — prompts are entered manually via create_prompt.

``sequence_number`` is ``COALESCE(MAX(sequence_number), 0) + 1`` per hotel; a
``uq_geo_experiments_hotel_sequence`` collision (concurrent create) recomputes
and retries — mirroring the window-key race handling in
``run_due_geo_daily_scans``.

## Path parameters

- `geo_hotel_id` string, uuid, required

## Request body

- GeoExperimentCreate: Body for creating a later experiment (Experiment 2+). The user names the experiment on creation: ``title`` is required and stored stripped (no taxonomy or inference). The hotel comes from the path, ``sequence_number`` is assigned server-side, the experiment starts as a Draft, and its config (samples / models / daily scan) is set later via PUT. (Experiment 1 is auto-created server-side without this schema and stays untitled → "Experiment 1" until renamed.)
  - `title` string, required

## Response `200`

Successful Response

- GeoExperimentRead
  - `id` string, uuid, required
  - `tenant_id` string, uuid, required
  - `geo_hotel_id` string, uuid, required
  - `sequence_number` integer, required
  - `title` string, nullable
  - `approved_at` string, date-time, nullable
  - `daily_scan_enabled` boolean
  - `daily_scan_hour` integer, nullable
  - `samples_per_prompt` integer, nullable
  - `model_by_platform` object
  - `group_id` string, uuid, nullable
  - `position` object

## Other responses

- `404`: GEO hotel not found
- `422`: Validation Error

## Changes

> 55 revisions in range; 1 not diffed.

- **2026-09-03** `d65b8fefae34`: 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Operation history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/geo/hotels/:geo_hotel_id/experiments/post.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getanana/apis/cleon-api/revisions/4d9d38769a75?raw)
