---
title: "Subscribe"
method: POST
path: "/subscription"
tags: ["Subscription"]
---

# Subscribe

`POST /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.
  - `price` integer, required — Price of the subscription in cents (USD).
  - `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.
  - `schedule` union — Schedule of the subscription.
    - object
      - `type` 'fixed', required
    - object
      - `type` 'weekly', required
      - `interval` integer, required
  - `next` string — Next shipment and billing date for the subscription.
  - `created` string, required — Date the subscription was created.

## Response `200`

Subscription was created successfully.

- object
  - `data` 'ok', required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `429` — Too Many Requests
- `500` — Internal Server Error

## Changes

- **2025-04-23** `bf623569cd3c` — 1 breaking
  - added the new required request property `allOf[#/components/schemas/Subscription]/price`
- **2025-04-14** `58fa4af8e325` — 1 breaking
  - added the new required request property `allOf[#/components/schemas/Subscription]/created`
- **2025-03-19** `1c6726b12e29` — 4 breaking, 24 info
  - the response's body type/format changed from ``/`` to `object`/`` for status `400`
  - the response's body type/format changed from ``/`` to `object`/`` for status `401`
  - the response's body type/format changed from ``/`` to `object`/`` for status `429`
  - the response's body type/format changed from ``/`` to `object`/`` for status `500`
  - …24 more
- **2025-03-07** `979a6c40552c` — 4 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `429`
  - added the non-success response with the status `500`
- **2025-02-26** `63020ea66b47` — 1 warning
  - removed the request property `allOf[#/components/schemas/Subscription]/frequency`

[Full history](https://skmtc.dev/terminaldotshop/apis/terminal-api/changes/subscription/post.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/84ef614abb97/schema)
