FinanceSubscription plans

Subscription plans

Finance · 4 операції

GET

List subscription tariffs

/api/subscription

Subscription tariffs the school sells: number of lessons, lesson duration, price, validity. Paginated.

list_subscriptions

Параметри запиту · 24

pagenumberмін. 1 · за замовчуванням 1
pageSizenumber1–250 · за замовчуванням 20
sortBystringОдне з: nameOfSubscription typeOfSubscription numberOfLesson price pricePerLesson
sortOrderstringОдне з: ASC DESC
subscriptionIdnumberобовʼязковий—
subscriptionIdsnumber[]—
nameOfSubscriptionstringобовʼязковий—
typeOfSubscriptionstringобовʼязковийОдне з: PER_LESSON PER_MONTH
Показати ще 16
numberOfLessonnumberобовʼязковий—
numberOfLessonFromnumberобовʼязковий—
numberOfLessonTonumberобовʼязковий—
durationOfLessonnumberобовʼязковий—
durationOfLessonFromnumberобовʼязковий—
durationOfLessonTonumberобовʼязковий—
pricenumberобовʼязковий—
priceFromnumberобовʼязковий—
priceTonumberобовʼязковий—
pricePerLessonnumberобовʼязковий—
pricePerLessonFromnumberобовʼязковий—
pricePerLessonTonumberобовʼязковий—
dateStartstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
dateEndstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
notestringобовʼязковий—
isArchivalobjectобовʼязковийза замовчуванням false

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject4 поля
totalnumberобовʼязковий—
totalPagesnumberобовʼязковий—
currentPagenumberобовʼязковий—
subscriptionsobject[]обовʼязковий14 полів
pricenumberобовʼязковий—
pricePerLessonnumberобовʼязковийможе бути null—
subscriptionIdnumberобовʼязковий—
nameOfSubscriptionstringобовʼязковий—
typeOfSubscriptionstringобовʼязковийОдне з: PER_LESSON PER_MONTH
numberOfLessonnumberобовʼязковий—
durationOfLessonnumberобовʼязковийможе бути null—
dateStartstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
dateEndstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
notestringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
usageobjectобовʼязковийOnly non-archived students: an archived student's subscriptions no longer use the tariff.2 поля
activenumberобовʼязковийActive student subscriptions of this tariff: neither archived nor expired.
archivednumberобовʼязковийPeriod already over (dateEnd before school today); archive is derived from the date.
Помилки400401403429500
curl "https://your-school.rist.pro/api/subscription" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "total": 0,
    "totalPages": 0,
    "currentPage": 0,
    "subscriptions": [
      {
        "price": 0,
        "pricePerLesson": 0,
        "subscriptionId": 1,
        "nameOfSubscription": "string",
        "typeOfSubscription": "PER_LESSON",
        "numberOfLesson": 0,
        "durationOfLesson": 0,
        "dateStart": "2026-11-09T14:30:00",
        "dateEnd": "2026-11-09T14:30:00",
        "note": "string",
        "isArchival": false,
        "updatedAt": "2026-11-09T14:30:00",
        "createdAt": "2026-11-09T14:30:00",
        "usage": {
          "active": 0,
          "archived": 0
        }
      }
    ]
  }
}
GET

Get subscription tariff

/api/subscription/{id}

One subscription tariff.

get_subscription

Параметри шляху · 1

idnumberобовʼязковий—

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject13 полів
pricenumberобовʼязковий—
pricePerLessonnumberобовʼязковийможе бути null—
subscriptionIdnumberобовʼязковий—
nameOfSubscriptionstringобовʼязковий—
typeOfSubscriptionstringобовʼязковийОдне з: PER_LESSON PER_MONTH
numberOfLessonnumberобовʼязковий—
durationOfLessonnumberобовʼязковийможе бути null—
dateStartstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
dateEndstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
notestringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
Помилки400401403429500
curl "https://your-school.rist.pro/api/subscription/1" \
  -H "Authorization: Bearer $RIST_API_KEY"
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "price": 0,
    "pricePerLesson": 0,
    "subscriptionId": 1,
    "nameOfSubscription": "string",
    "typeOfSubscription": "PER_LESSON",
    "numberOfLesson": 0,
    "durationOfLesson": 0,
    "dateStart": "2026-11-09T14:30:00",
    "dateEnd": "2026-11-09T14:30:00",
    "note": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00"
  }
}
POST

Add a per-lesson subscription tariff (name, number of lessons, price, optional lesson duration, validity and gift lessons).

create_subscription

Тіло запиту

application/json · object

typeOfSubscriptionstringAlways PER_LESSON, may be omitted. Kept in the body for clients that still send it.Одне з: PER_LESSON
nameOfSubscriptionstringобовʼязковийдовжина 1–150
numberOfLessonnumberобовʼязковиймін. 1
durationOfLessonnumberобовʼязковийможе бути nullмін. 1
pricenumberобовʼязковиймін. 1
dateStartstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
dateEndstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
notestringобовʼязковийможе бути nullдовжина макс. 1500
giftLessonsnumberGift lessons a student subscription created from this tariff gets; later tariff edits do not change it.0–999
giftPlacementstringОдне з: SUFFICIENT_BALANCE INSUFFICIENT_BALANCE

Відповідь · 201

application/json

statusCodenumberобовʼязковийприклад 201
messagestringобовʼязковий—
dataobject13 полів
pricenumberобовʼязковий—
pricePerLessonnumberобовʼязковийможе бути null—
subscriptionIdnumberобовʼязковий—
nameOfSubscriptionstringобовʼязковий—
typeOfSubscriptionstringобовʼязковийОдне з: PER_LESSON PER_MONTH
numberOfLessonnumberобовʼязковий—
durationOfLessonnumberобовʼязковийможе бути null—
dateStartstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
dateEndstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
notestringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
Помилки400401403429500
curl -X POST "https://your-school.rist.pro/api/subscription" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "typeOfSubscription": "PER_LESSON",
    "nameOfSubscription": "string",
    "numberOfLesson": 1,
    "durationOfLesson": 1,
    "price": 1,
    "dateStart": "2026-11-09T14:30:00",
    "dateEnd": "2026-11-09T14:30:00",
    "note": "string",
    "giftLessons": 0,
    "giftPlacement": "SUFFICIENT_BALANCE"
  }'
Приклад відповіді · 201
{
  "statusCode": 201,
  "message": "Operation completed successfully",
  "data": {
    "price": 0,
    "pricePerLesson": 0,
    "subscriptionId": 1,
    "nameOfSubscription": "string",
    "typeOfSubscription": "PER_LESSON",
    "numberOfLesson": 0,
    "durationOfLesson": 0,
    "dateStart": "2026-11-09T14:30:00",
    "dateEnd": "2026-11-09T14:30:00",
    "note": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00"
  }
}
PATCH

Update subscription tariff

/api/subscription/{id}

Rewrite a subscription tariff. Send the full body as in POST /api/subscription, not only changed fields. Confirm price changes with the user first.

update_subscription

Параметри шляху · 1

idnumberобовʼязковий—

Тіло запиту

application/json · object

typeOfSubscriptionstringAlways PER_LESSON, may be omitted. Kept in the body for clients that still send it.Одне з: PER_LESSON
nameOfSubscriptionstringобовʼязковийдовжина 1–150
numberOfLessonnumberобовʼязковиймін. 1
durationOfLessonnumberобовʼязковийможе бути nullмін. 1
pricenumberобовʼязковиймін. 1
dateStartstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
dateEndstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
notestringобовʼязковийможе бути nullдовжина макс. 1500
giftLessonsnumberGift lessons a student subscription created from this tariff gets; later tariff edits do not change it.0–999
giftPlacementstringОдне з: SUFFICIENT_BALANCE INSUFFICIENT_BALANCE

Відповідь · 200

application/json

statusCodenumberобовʼязковийприклад 200
messagestringобовʼязковий—
dataobject13 полів
pricenumberобовʼязковий—
pricePerLessonnumberобовʼязковийможе бути null—
subscriptionIdnumberобовʼязковий—
nameOfSubscriptionstringобовʼязковий—
typeOfSubscriptionstringобовʼязковийОдне з: PER_LESSON PER_MONTH
numberOfLessonnumberобовʼязковий—
durationOfLessonnumberобовʼязковийможе бути null—
dateStartstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
dateEndstringобовʼязковийможе бути nullформат YYYY-MM-DDTHH:mm:ss
notestringобовʼязковийможе бути null—
isArchivalbooleanобовʼязковий—
updatedAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
createdAtstringобовʼязковийформат YYYY-MM-DDTHH:mm:ss
Помилки400401403429500
curl -X PATCH "https://your-school.rist.pro/api/subscription/1" \
  -H "Authorization: Bearer $RIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "typeOfSubscription": "PER_LESSON",
    "nameOfSubscription": "string",
    "numberOfLesson": 1,
    "durationOfLesson": 1,
    "price": 1,
    "dateStart": "2026-11-09T14:30:00",
    "dateEnd": "2026-11-09T14:30:00",
    "note": "string",
    "giftLessons": 0,
    "giftPlacement": "SUFFICIENT_BALANCE"
  }'
Приклад відповіді · 200
{
  "statusCode": 200,
  "message": "Operation completed successfully",
  "data": {
    "price": 0,
    "pricePerLesson": 0,
    "subscriptionId": 1,
    "nameOfSubscription": "string",
    "typeOfSubscription": "PER_LESSON",
    "numberOfLesson": 0,
    "durationOfLesson": 0,
    "dateStart": "2026-11-09T14:30:00",
    "dateEnd": "2026-11-09T14:30:00",
    "note": "string",
    "isArchival": false,
    "updatedAt": "2026-11-09T14:30:00",
    "createdAt": "2026-11-09T14:30:00"
  }
}