---
title: "Attach"
method: POST
path: "/onboarding/attach"
tags: ["onboarding"]
---

# Attach

`POST /onboarding/attach`

## Request

- Base URL: `https://api.getathly.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getathly.com/onboarding/attach`
- Auth: HTTP bearer

Attach onboarding answers to the signed-in user's intake.

Authenticated, which is what lets it have no password of its own: by the
time anyone reaches it the session already exists, either because they signed
in through ``/signup`` or because they never left.

## Request body

- AttachRequest: Attach onboarding answers to the signed-in user's intake. Two shapes, one endpoint. ``token`` is the return leg -- someone arriving back at the app with ``?t=`` and a session they already had -- and the pair is taken from the token. ``athlete_slug`` with ``replace`` backs the "use my newer answers" button, where the account is found by the session's email.
  - `token` string, nullable
  - `athlete_slug` string, nullable
  - `replace` boolean
  - `timezone` string, nullable

## Response `200`

Successful Response

- AttachResponse
  - `result` 'attached' | 'conflict' | 'unchanged', required
  - `athlete_slug` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getathly/apis/athly-api.md) - [All operations](https://skmtc.dev/getathly/apis/athly-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getathly/apis/athly-api/revisions/6adfdc258d75?raw)
