---
title: "Has the owner answered that verification email yet?"
method: GET
path: "/v1/signup/status"
tags: ["Sign-up"]
---

# Has the owner answered that verification email yet?

`GET /v1/signup/status`

## Request

- Base URL: `https://api.galleyrender.com`
- URL: `https://api.galleyrender.com/v1/signup/status`
- Auth: none required

One word — `pending`, `verified`, `issued`, `cancelled` — about one sign-up, so a page that has just sent somebody an email can finish the job itself instead of asking them to press a button again when they get back.

**It has no side effects.** It mints nothing, mails nothing, verifies nothing and consumes nothing, and it is not a step in getting a key: the key still comes from `create_account`, after the owner confirms the request on the page the email links to, once. This only says when that call is worth making.

**It never returns an address.** The token is a public id, and a public id is handed out by `existing_account`, so an address here would undo that answer's redaction.

**No key.** The `token` is the `account.id` that `create_account` returned with `pending_verification`, which the caller that started the sign-up holds and nobody else does.

Poll every `poll_after_seconds`. This has its own budget — thirty checks a minute per token — so polling here never spends the three-per-hour `create_account` budget, which is the whole reason it exists.

## Query parameters

- `token` string, required

## Response `200`

Where this sign-up has got to.

- SignupStatus
  - `object` 'signup_status', required
  - `status` 'pending' | 'verified' | 'issued' | 'cancelled', required: `pending` — the email is out and the owner hasn't answered it. `verified` — the owner confirmed this request; the next `create_account` from the client that made it hands over the key, and no other client's does. `issued` — the key is out, collected by that call or shown to the owner on the verify page; keys are shown once. `cancelled` — the owner said the request wasn't theirs, or verified the address from another request; stop polling.
  - `poll_after_seconds` integer, required
  - `next_step` string, required

## Other responses

- `400`: `invalid_request` — no `token`.
- `404`: `not_found` — no sign-up under that token.
- `429`: `rate_limited` — more than thirty checks in a minute for one token.

---

[API](https://skmtc.dev/galleyrender/apis/galley-render-api.md) · [All operations](https://skmtc.dev/galleyrender/apis/galley-render-api/llms.txt) · [OpenAPI document](https://skmtc.dev/galleyrender/apis/galley-render-api/revisions/a85d68468cd2?raw)
