---
title: "Monthly Switch Portal"
method: POST
path: "/api/billing/monthly-switch-portal"
tags: ["billing"]
---

# Monthly Switch Portal

`POST /api/billing/monthly-switch-portal`

Apply a monthly offer to an existing Team subscription.

Trialing legacy deals switch and invoice immediately. Active annual Team
subscribers confirm the exact price change in Stripe's hosted portal.

## Request body

- MonthlySwitchRequest
  - `deal_code` string, required

## Response `200`

Successful Response

- MonthlySwitchResponse
  - `status` string, required
  - `portal_url` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/codag/apis/infra-logs-templater.md) · [All operations](https://skmtc.net/codag/apis/infra-logs-templater/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/codag/infra-logs-templater/revisions/44d8ea826f48/schema)
