---
title: "Confirm"
method: POST
path: "/api/v1/listings/confirm"
---

# Confirm

`POST /api/v1/listings/confirm`

## Request

- Base URL: `https://trovastorage.it` (the document declares no server; this is the origin it was published from)
- URL: `https://trovastorage.it/api/v1/listings/confirm`
- Auth: none declared

The five-minute form: the operator confirms the facts shown, may give a
size range, a price or a range and the hours, and accepts the terms. The
listing moves to rung 1 and may go online today.

## Request body

- ListingConfirmRequest: The five-minute form. Everything is optional but the acceptance: an operator may confirm the page as it is.
  - `token` string, required
  - `site_id` string, uuid, required
  - `declared_min_m2` number, nullable
  - `declared_max_m2` number, nullable
  - `price_from_eur` number, nullable
  - `price_to_eur` number, nullable
  - `price_period` 'day' | 'week' | 'month'
  - `opening_hours` OpeningHours: When a centre is staffed and when a customer can get in (0017). `None` and `[]` are different answers and the difference is the point: `office: None` means the operator does not publish office hours, `office: []` means there are no fixed ones — by appointment, or no staffed office. A card that turns "we do not know" into "closed" says something false about a real business.
    - `office` OpeningInterval[], nullable
      - `days` integer[], required
      - `opens` string, required
      - `closes` string, required
    - `access` OpeningInterval[], nullable
      - `days` integer[], required
      - `opens` string, required
      - `closes` string, required
    - `access_24_7` boolean
  - `accept_terms` true, required

## Response `200`

Successful Response

- ListingPreview: What an operator sees from the link in the pre-notification: their centres as TrovaStorage holds them, and where each fact was read.
  - `operator_name` string, required
  - `operator_website` string, nullable, required
  - `terms_version` string, required
  - `terms_text` string, required
  - `terms_accepted` boolean, required
  - `removed` boolean, required
  - `centres` ListingCentrePreview[], required
    - `site_id` string, uuid, required
    - `name` string, required
    - `address_line` string, required
    - `city` string, required
    - `postcode` string, nullable, required
    - `province` string, nullable, required
    - `phone` string, nullable, required
    - `website` string, nullable, required
    - `category` string, required
    - `listing_rung` integer, required
    - `published` boolean, required
    - `public_from` string, date, nullable, required
    - `public_path` string, required
    - `opening_hours` OpeningHours, required: When a centre is staffed and when a customer can get in (0017). `None` and `[]` are different answers and the difference is the point: `office: None` means the operator does not publish office hours, `office: []` means there are no fixed ones — by appointment, or no staffed office. A card that turns "we do not know" into "closed" says something false about a real business.
      - `office` OpeningInterval[], nullable
        - `days` integer[], required
        - `opens` string, required
        - `closes` string, required
      - `access` OpeningInterval[], nullable
        - `days` integer[], required
        - `opens` string, required
        - `closes` string, required
      - `access_24_7` boolean
    - `declared_min_m2` number, nullable, required
    - `declared_max_m2` number, nullable, required
    - `amenities` string[], required
    - `prices` ListingPriceOut[], required
      - `size_label` string, nullable, required
      - `area_m2` number, nullable, required
      - `volume_m3` number, nullable, required
      - `price_from_cents` integer, required
      - `price_to_cents` integer, nullable, required
      - `price_period` string, required
      - `price_basis` string, required
      - `source_kind` string, required
      - `source_url` string, nullable, required
      - `checked_on` string, date, required
    - `sources` ListingSourceOut[], required
      - `field` string, required
      - `source_kind` string, required
      - `source_url` string, nullable, required
      - `checked_on` string, date, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/trovastorage/apis/stock-your-inventory.md) · [All operations](https://skmtc.dev/trovastorage/apis/stock-your-inventory/llms.txt) · [OpenAPI document](https://skmtc.dev/trovastorage/apis/stock-your-inventory/revisions/c75f591a585c?raw)
