---
title: "Proof Pack View"
method: GET
path: "/api/v1/admin/proof-pack"
---

# Proof Pack View

`GET /api/v1/admin/proof-pack`

## 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/admin/proof-pack`
- Auth: one of:
  - API key in header `X-Access-Token`
  - HTTP bearer

The proof pack (M4B, M6): coverage, requests and where they came from,
how they were answered, won and confirmed as move-ins, and what demand
went unmet, overall, by city, by operator and by centre. `city` is a
city's slug, `operator` an operator's id. JSON for a screen: there is no
export (CSV-1). Counts and keys only: no customer's name or contact
details. Only requests a person confirmed (`services/proof_pack.py`).

## Query parameters

- `city` string, nullable
- `operator` string, uuid, nullable

## Response `200`

Successful Response

- ProofPack: Coverage, requests and how they ended, on screen only (CSV-1: no export). Counts and keys: no name, address or phone of a customer is in it. Only requests a person confirmed are counted (DEMAND-1). Visits are read in Google Analytics, not here.
  - `city` string, nullable, required
  - `operator` string, uuid, nullable, required
  - `coverage` ProofPackCoverage, required: The centres a visitor can find, and those whose operator manages the listing.
    - `centres_listed` integer, required
    - `centres_managed` integer, required
    - `operators_listed` integer, required
    - `operators_managed` integer, required
    - `by_city` ProofPackCityCoverage[]
      - `key` string, required
      - `name` string, required
      - `centres_listed` integer, required
      - `centres_managed` integer, required
  - `won` integer
  - `moved_in` integer
  - `not_moved_in` integer
  - `admin_entered` integer
  - `admin_entered_waiting` integer
  - `by_origin` object
  - `by_site` ProofPackGroup[]
    - `key` string, required
    - `name` string, required
    - `sent` integer, required
    - `answered` integer, required
    - `answer_rate` number, nullable, required
    - `median_minutes_to_first_answer` integer, nullable, required
    - `won` integer
    - `moved_in` integer
  - `unmet` ProofPackUnmet[]
    - `city` string, required
    - `city_name` string, required
    - `size_class_m2` integer, required
    - `requests` integer, required
    - `unmet` integer, required
    - `no_free_unit` integer, required
  - `requests` integer, required
  - `requests_answered` integer, required
  - `answer_rate` number, nullable, required
  - `median_minutes_to_first_answer` integer, nullable, required
  - `decline_reasons` object, required
  - `cancel_reasons` object, required
  - `by_city` ProofPackGroup[], required
    - `key` string, required
    - `name` string, required
    - `sent` integer, required
    - `answered` integer, required
    - `answer_rate` number, nullable, required
    - `median_minutes_to_first_answer` integer, nullable, required
    - `won` integer
    - `moved_in` integer
  - `by_operator` ProofPackGroup[], required
    - `key` string, required
    - `name` string, required
    - `sent` integer, required
    - `answered` integer, required
    - `answer_rate` number, nullable, required
    - `median_minutes_to_first_answer` integer, nullable, required
    - `won` integer
    - `moved_in` integer

## 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)
