---
title: "Connect Status"
method: GET
path: "/api/v1/playbooks/my/connect/status"
tags: ["playbooks"]
---

# Connect Status

`GET /api/v1/playbooks/my/connect/status`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/playbooks/my/connect/status`
- Auth: none declared

Report the caller's Stripe Connect onboarding state.

No account yet → all-false (the frontend shows "Set up payouts"). Otherwise
we fetch the live account, persist `charges_enabled`/`payouts_enabled` back
onto the User (so the rest of the app can gate on a fresh value without
another Stripe round-trip), and return them plus `details_submitted`.

Fail-safe (CLAUDE.md rule #7): 503 "Stripe not configured" when
STRIPE_SECRET_KEY is unset — checked first so the contract is uniform
regardless of whether the caller has an account id.

## Response `200`

Successful Response

- ConnectStatusResponse: Body for GET /playbooks/my/connect/status — mirrors the Stripe account's capability flags. `connected` is True once an Express account exists for the caller (regardless of whether onboarding is complete).
  - `connected` boolean, required
  - `charges_enabled` boolean, required
  - `payouts_enabled` boolean, required
  - `details_submitted` boolean, required

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
