---
title: "Did the founder finish the connection you handed them a link for? POST rather than GET because the poll token is a credential and a credential in a query string lands in logs. Answers status pending (with poll_after_seconds), connected (with the property, site or account it now reads), expired or not_found. IDEMPOTENT: nothing is consumed or spent, so a connected handoff keeps reporting connected until its row expires. Scope 'read'."
method: POST
path: "/api/v1/connections/poll"
---

# Did the founder finish the connection you handed them a link for? POST rather than GET because the poll token is a credential and a credential in a query string lands in logs. Answers status pending (with poll_after_seconds), connected (with the property, site or account it now reads), expired or not_found. IDEMPOTENT: nothing is consumed or spent, so a connected handoff keeps reporting connected until its row expires. Scope 'read'.

`POST /api/v1/connections/poll`

## Request

- Base URL: `https://afterlaunch.io`
- URL: `https://afterlaunch.io/api/v1/connections/poll`
- Auth: HTTP bearer

## Request body

- object
  - `poll_token` string, required: The poll_token startConnection returned.

## Response `200`

The handoff status. An unknown or foreign token answers 200 with status not_found rather than telegraphing another product run.

- object
  - `data` object, required
  - `meta` object, required
    - `enrollment_id` string, uuid, required
    - `generated_at` string, date-time, required

## Other responses

- `400`: Missing or malformed poll_token.
- `401`: Missing, invalid or revoked API key.
- `403`: The key does not carry the scope this endpoint requires.
- `429`: Per-key rate limit exceeded. Honour Retry-After.

---

[API](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api.md) · [All operations](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api/revisions/d67a599194a4?raw)
