---
title: "Start Stripe checkout when the server-selected billing action requires it"
method: POST
path: "/api/workspaces/{workspaceId}/projects/tunnels/payment-checkout"
tags: ["projects"]
---

# Start Stripe checkout when the server-selected billing action requires it

`POST /api/workspaces/{workspaceId}/projects/tunnels/payment-checkout`

## Request

- Base URL: `https://rstream.io`
- URL: `https://rstream.io/api/workspaces/{workspaceId}/projects/tunnels/payment-checkout`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` string, required

## Request body

- CreateTunnelsProjectCheckoutParams
  - `name` string, required
  - `routing` 'regional' | 'global', required
  - `provider` 'aws' | 'gcp' | 'azure' | 'onpremise' | 'other'
  - `region` string
  - `plan` 'basic' | 'pro' | 'enterprise', required
  - `creationFingerprint` string, required
  - `idempotencyKey` string, required

## Response `200`

Successful response.

- CreateTunnelsProjectCheckoutResponse
  - `url` string, uri, required
  - `projectId` string, required

## Other responses

- `400`: Request validation failed.
- `401`: Authentication is required.
- `403`: The token is not authorized.
- `404`: Workspace not found.

---

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