---
title: "Ask to become the coach's student"
method: POST
path: "/api/v1/coaches/{handle}/requests"
tags: ["coaches"]
---

# Ask to become the coach's student

`POST /api/v1/coaches/{handle}/requests`

## Request

- Base URL: `https://kicksma.sh`
- URL: `https://kicksma.sh/api/v1/coaches/{handle}/requests`
- Auth: one of:
  - none
  - HTTP bearer

By first name (a new player) or personal token. The coach accepts with one tap; the response's personalToken is what book_lesson needs afterwards. Keep it private to the student.

## Path parameters

- `handle` string, required

## Request body

- object
  - `name` string
  - `token` string

## Response `201`

Status

- object
  - `status` 'requested' | 'accepted' | 'paused'
  - `coach` Coach
    - `handle` string
    - `name` string
    - `url` string
    - `bookUrl` string
    - `city` string, nullable
    - `tz` string
    - `clubs` string[]
    - `lessonMinutes` integer
    - `languages` string[]
    - `bio` string, nullable
    - `rules` object
      - `cutoffHours` integer
      - `latePasses` integer
      - `minNoticeHours` integer
    - `nextSlots` string[]
  - `student` object
    - `name` string
    - `personalToken` string
    - `personalUrl` string
  - `next` string

## Other responses

- `404`: No listed coach
- `422`: Invalid request; the message names the field
- `429`: Rate limited; the hint says how to get more room

---

[API](https://skmtc.dev/kicksma/apis/kicksmash-api.md) · [All operations](https://skmtc.dev/kicksma/apis/kicksmash-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kicksma/apis/kicksmash-api/revisions/8ae952aa0f19?raw)
