---
title: "Connect your Whop account"
method: PUT
path: "/payments/whop"
tags: ["Payments"]
---

# Connect your Whop account

`PUT /payments/whop`

## Request

- Base URL: `https://osis.co/api/v1/comms`
- URL: `https://osis.co/api/v1/comms/payments/whop`
- Auth: HTTP bearer

Requires comms_payments_manage or an owner/admin session and accepted terms. Automatically registers a payment.succeeded webhook when webhook_secret is omitted; the Whop key must have developer:manage_webhook.

## Request body

- object
  - `company_id` string, required
  - `api_key` string, required
  - `webhook_secret` string: Optional signing secret from a manually configured v1 payment.succeeded webhook.

## Response `200`

Connected

- object
  - `whop` object, nullable
    - `company_id` string
    - `company_name` string, nullable
    - `status` 'active' | 'disconnected'
    - `webhook_configured` boolean
    - `connected_at` string, date-time, nullable
  - `webhook_url` string, uri

## Other responses

- `403`: Merchant admin permission, accepted terms or Whop permissions missing
- `409`: Company already connected or company change requires migration
- `502`: Whop unavailable or webhook setup failed

---

[API](https://skmtc.dev/osis/apis/comms-api.md) · [All operations](https://skmtc.dev/osis/apis/comms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/osis/apis/comms-api/revisions/59a4c0ba8936?raw)
