---
title: "Verify Twitch social link"
method: POST
path: "/v1/account/social/verify/twitch"
tags: ["verification"]
---

# Verify Twitch social link

`POST /v1/account/social/verify/twitch`

## Request

- Base URL: `https://api.grove.city` (the document declares no server; this is the origin it was published from)
- URL: `https://api.grove.city/v1/account/social/verify/twitch`
- Auth: none declared

Verify ownership of a Twitch social link using an OAuth 2.0 access token.

**Flow:**
1. Client obtains a Twitch OAuth 2.0 access token via authorization code flow
2. Client sends the token to this endpoint
3. API validates the token against Twitch's `GET /helix/users` endpoint
4. If the returned username matches the account's existing Twitch social link, it's marked as verified

**Prerequisites:**
- Account must have a Twitch social link already added (via `POST /v1/account/social-links`)
- Client must have a valid Twitch OAuth 2.0 access token

**Idempotent:** Calling this on an already-verified Twitch link returns success.

Authentication: `Authorization: Bearer <CLIENT_JWT>`

## Headers

- `authorization` string, nullable: Bearer JWT issued by Grove that identifies the account.

## Request body

- TwitchVerifyRequest: Request model for POST /v1/account/social/verify/twitch.
  - `access_token` string, required: Twitch OAuth 2.0 access token obtained via authorization code flow

## Response `200`

Successful Response

- TwitchVerifyResponse: Response model for POST /v1/account/social/verify/twitch.
  - `verified` boolean, required: Whether the Twitch link is now verified
  - `platform` string: Platform that was verified
  - `username` string, required: Twitch username that was verified
  - `verification_method` string, required: Method used for verification

## Other responses

- `400`: Invalid access token, no Twitch link on account, or username mismatch
- `401`: Missing or invalid Grove JWT
- `422`: Validation Error
- `502`: Twitch API unavailable

---

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