---
title: "Update Personal Subscription"
method: POST
path: "/subscriptions/update_user_subscription/"
tags: ["Subscriptions"]
---

# Update Personal Subscription

`POST /subscriptions/update_user_subscription/`

## Request

- Base URL: `http://api.cannoli.app/api/v1`
- URL: `http://api.cannoli.app/api/v1/subscriptions/update_user_subscription/`
- Auth: none declared

This endpoint returns a stripe URL to add a payment method if the
user doesn’t have one. Other way, it changes the subscription from
Free to Pro or Free to Pro, depending on the current subscription.

## Request body

- UserSubscription
  - `id` integer
  - `tier` 'F' | 'P' | 'T'
  - `status` 'A' | 'O' | 'P' | 'C'
  - `current_period_start` string, date-time
  - `current_period_end` string, date-time

## Response `201`

Created

---

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