---
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.
  - `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.

## Response `200`

Subscription was created successfully.

- object
  - `data` 'ok', required

## Other responses

- `400` — Bad Request - The request could not be understood or was missing required parameters.
- `401` — Unauthorized - Authentication is required and has failed or has not been provided.
- `429` — Too Many Requests - You have made too many requests in a short period of time.
- `500` — Internal Server Error - Something went wrong on our end.

## Changes

- **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`
- **2025-02-17** `a43b29f86639` — 1 breaking, 1 info
  - removed `subschema #1, subschema #2` from the `allOf[#/components/schemas/Subscription]/schedule` request property `oneOf` list
  - added `subschema #1: fixed, subschema #2: weekly` to the `allOf[#/components/schemas/Subscription]/schedule` request property `oneOf` list
- **2025-02-16** `d05a14360ad1` — 1 info
  - added the new optional request property `allOf[#/components/schemas/Subscription]/schedule`
- **2025-02-06** `628874ec2e5b` — 1 info
  - added the new optional request property `allOf[#/components/schemas/Subscription]/next`

[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/cb50019f2425/schema)
