---
title: "Read one of your submissions, with its conversation"
method: GET
path: "/management-console/submissions/{file}"
tags: ["Your account"]
---

# Read one of your submissions, with its conversation

`GET /management-console/submissions/{file}`

## Request

- Base URL: `https://verifiedhandles.org`
- URL: `https://verifiedhandles.org/management-console/submissions/{file}`
- Auth: HTTP bearer

One submission, what it asked for (`payload`, as it was sent) and its comments, oldest first. Its submitter and reviewers may read it; to anyone else it is 404, as a missing one is. A masked email the proposal keeps is in `payload.handles` as `{value: '', kept: true, ref}`, never its address; one it removes is left out. Its page shows such a removal as “Email: (an address)” to a submitter who may not edit the entry live.

## Path parameters

- `file` string, required

## Response `200`

The submission.

- SubmissionDetail: One submission, what it asked for, and its conversation.
  - `id` string, required
  - `kind` 'new_entity' | 'correction' | 'claim' | 'report' | 'application', required: What was asked: a new entry, a change, a claim, a report or an application.
  - `status` 'pending' | 'needs_info' | 'approved' | 'rejected' | 'merged' | 'spam' | 'superseded' | 'retracted' | 'resolved', required
  - `entry` object, nullable, required: The entry it is about; null for a new entry or an application.
    - `vhid` string, required
    - `short` string, nullable, required
    - `title` string, required
  - `qid` string, nullable, required: The Wikidata item it names, if any.
  - `created_at` string, date-time, required
  - `decided_at` string, date-time, nullable, required
  - `review_notes` string, nullable, required: What the reviewer wrote when deciding it.
  - `mine` boolean, required: You sent it.
  - `payload` object, required: What it asks for, in its kind’s shape: for `correction`, `new_entity` and `application`, an `EditPayload` (the fields to set, and for a revert or an approval the server’s own); for `report`, `{reason, note?, media_id?, link?}`; for `claim`, `{method}`.
  - `comments` object[], required
    - `id` string, required
    - `author_name` string, nullable, required: The writer’s name, where you may see it.
    - `author_role` string, nullable, required: `reviewer` for a reviewer’s comment; null for the submitter’s own.
    - `body` string, required
    - `created_at` string, date-time, required

## Other responses

- `302`: No key was sent: the console sends a browser to sign in. A script should send its key.
- `400`: The request sent a key and a session cookie together (`bearer_with_cookie`): send one.
- `401`: The key was refused: unknown, revoked or expired, its holder may no longer use keys, or this instance takes none. Carries `WWW-Authenticate: Bearer`.
- `403`: The key’s account lacks the capability, or is blocked: the body is the word `Forbidden`.
- `404`: No such submission, or not one you may read.
- `503`: The site is down for maintenance. The body is the maintenance page, as HTML. Try again later: `Retry-After` gives the seconds.

---

[API](https://skmtc.dev/verifiedhandles/apis/verified-handles-api.md) · [All operations](https://skmtc.dev/verifiedhandles/apis/verified-handles-api/llms.txt) · [OpenAPI document](https://skmtc.dev/verifiedhandles/apis/verified-handles-api/revisions/40720de2e0ec?raw)
