API reference

Subscriptions

Subscription orders and scheduled recurring purchases.

Overview

Subscription orders capture a recurring service request for fulfilment. Scheduled purchases let a user automate a VTU purchase on a cadence; schedules can be paused, resumed and deleted, and are executed by a server-side runner.

  • Submitting a subscription order requires the transaction PIN.
  • Schedule execution reuses the standard VTU purchase path, including refunds on failure.

Not implemented

Do not build against these
  • Card-based auto-renew
  • Proration

Endpoints

6 operations available to your account.

listMySubscriptionOrders

Bearer token required

Caller's subscription orders.

Endpoint
GET/_serverFn/listMySubscriptionOrders
Response codes
401Unauthorized – missing or invalid bearer token.
400Validation failed – input did not match the schema.
429Rate limited – slow down and retry.
500Server error – reported and logged with an error ID.
curl -X GET https://centuryvtu.com/_serverFn/listMySubscriptionOrders \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -G

Runs against Production using your own signed-in session. No shared or secret credential is used.

submitSubscriptionOrder

Bearer token required

Submit a subscription order (requires PIN).

Endpoint
POST/_serverFn/submitSubscriptionOrder
Response codes
401Unauthorized – missing or invalid bearer token.
400Validation failed – input did not match the schema.
429Rate limited – slow down and retry.
500Server error – reported and logged with an error ID.
curl -X POST https://centuryvtu.com/_serverFn/submitSubscriptionOrder \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'

listSchedules

Bearer token required

List scheduled purchases.

Endpoint
GET/_serverFn/listSchedules
Response codes
401Unauthorized – missing or invalid bearer token.
400Validation failed – input did not match the schema.
429Rate limited – slow down and retry.
500Server error – reported and logged with an error ID.
curl -X GET https://centuryvtu.com/_serverFn/listSchedules \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -G

Runs against Production using your own signed-in session. No shared or secret credential is used.

upsertSchedule

Bearer token required

Create or update a schedule.

Endpoint
POST/_serverFn/upsertSchedule
Response codes
401Unauthorized – missing or invalid bearer token.
400Validation failed – input did not match the schema.
429Rate limited – slow down and retry.
500Server error – reported and logged with an error ID.
curl -X POST https://centuryvtu.com/_serverFn/upsertSchedule \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'

toggleSchedule

Bearer token required

Pause/resume a schedule.

Endpoint
POST/_serverFn/toggleSchedule
Request body
FieldTypeRequired
iduuidYes
activebooleanYes
Response codes
401Unauthorized – missing or invalid bearer token.
400Validation failed – input did not match the schema.
429Rate limited – slow down and retry.
500Server error – reported and logged with an error ID.
curl -X POST https://centuryvtu.com/_serverFn/toggleSchedule \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"data":{"id":"00000000-0000-0000-0000-000000000000","active":true}}'
Example response
{ ok: true }

deleteSchedule

Bearer token required

Delete a schedule.

Endpoint
POST/_serverFn/deleteSchedule
Request body
FieldTypeRequired
iduuidYes
Response codes
401Unauthorized – missing or invalid bearer token.
400Validation failed – input did not match the schema.
429Rate limited – slow down and retry.
500Server error – reported and logged with an error ID.
curl -X POST https://centuryvtu.com/_serverFn/deleteSchedule \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"data":{"id":"00000000-0000-0000-0000-000000000000"}}'
Example response
{ ok: true }