---
title: "Subscribe"
method: PUT
path: "/subscription"
tags: ["Subscriptions"]
---

# Subscribe

`PUT /subscription`

Create a subscription for the current user.

## Request body

- Subscription — Subscription to a Terminal shop product.
  - `id` string, required — Unique object identifier. The format and length of IDs may change over time.
  - `productVariantID` string, required — ID of the product variant being subscribed to.
  - `quantity` integer, required — Quantity of the subscription.
  - `addressID` string, required — ID of the shipping address used for the subscription.
  - `cardID` string, required — ID of the card used for the subscription.
  - `frequency` 'fixed' | 'daily' | 'weekly' | 'monthly' | 'yearly', required — Frequency of the subscription.

## Response `200`

Subscription was created successfully.

- object
  - `data` 'ok', required

## Changes

- **2024-12-13** `916cf9100f68` — 1 breaking, 1 warning
  - added the new required request property `allOf[#/components/schemas/Subscription]/addressID`
  - removed the request property `allOf[#/components/schemas/Subscription]/shippingID`
- **2024-12-13** `43ff7af31b1e` — 3 breaking, 5 warning, 4 info
  - added `#/components/schemas/Subscription` to the request body `allOf` list
  - the request's body type/format changed from `object`/`` to ``/``
  - removed the required property `result` from the response with the `200` status
  - removed the request property `cardID`
  - …8 more

[Change history](https://skmtc.dev/terminaldotshop/apis/terminal-api/changes/subscription/put.md)

---

[API](https://skmtc.dev/terminaldotshop/apis/terminal-api.md) · [All operations](https://skmtc.dev/terminaldotshop/apis/terminal-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/terminaldotshop/terminal-api/revisions/2d657e4e5d6b/schema)
