---
title: "Get Churnkey HMAC auth credentials"
method: GET
path: "/api/billing/churnkey/auth"
tags: ["billing"]
---

# Get Churnkey HMAC auth credentials

`GET /api/billing/churnkey/auth`

Returns the Stripe customer identifier and a server-signed
HMAC-SHA256 of the customer ID, used to launch the Churnkey-hosted
cancellation flow embed.

## Response `200`

Success

- ChurnkeyAuthResponse — Credentials the Churnkey embed requires to launch the cancel flow. `auth_hash` is hex-encoded HMAC-SHA256 of `customer_id` signed with the server's CHURNKEY_HMAC_SECRET; it is bound to that single customer ID and must not be reused for other customers.
  - `auth_hash` string, required — Hex-encoded HMAC-SHA256(customer_id, CHURNKEY_HMAC_SECRET)
  - `customer_id` string, required — Stripe customer ID for the workspace
  - `mode` 'live' | 'test' | 'sandbox', required — Churnkey environment matching the configured app

## Other responses

- `401` — Unauthorized
- `404` — Workspace has no Stripe customer (never subscribed)
- `500` — Internal server error
- `503` — Churnkey is not configured on the server

---

[API](https://skmtc.net/comfy-org/apis/comfyui-api.md) · [All operations](https://skmtc.net/comfy-org/apis/comfyui-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/comfy-org/comfyui-api/revisions/da017caf56f1/schema)
