Create a subscription
const url = 'http://127.0.0.1:8484/api/v1/subscriptions';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"account":"example","altPrice":"example","altUnit":"month","autoConfirm":true,"cancelUrl":"example","categoryId":"example","currency":"example","dayRule":"day","dryRun":true,"endDate":"example","firstCharge":"example","interval":1,"name":"example","notes":"example","noticeDays":1,"payerId":"example","paymentMethodId":"example","price":"example","private":true,"reminderDays":[1],"renewal":"auto","shares":[{"memberId":"example","weight":1}],"startedOn":"example","status":"active","tags":["example"],"trialEndsOn":"example","unit":"day","url":"example","weekendShift":"none"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://127.0.0.1:8484/api/v1/subscriptions \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "account": "example", "altPrice": "example", "altUnit": "month", "autoConfirm": true, "cancelUrl": "example", "categoryId": "example", "currency": "example", "dayRule": "day", "dryRun": true, "endDate": "example", "firstCharge": "example", "interval": 1, "name": "example", "notes": "example", "noticeDays": 1, "payerId": "example", "paymentMethodId": "example", "price": "example", "private": true, "reminderDays": [ 1 ], "renewal": "auto", "shares": [ { "memberId": "example", "weight": 1 } ], "startedOn": "example", "status": "active", "tags": [ "example" ], "trialEndsOn": "example", "unit": "day", "url": "example", "weekendShift": "none" }'Adds a recurring subscription and computes its upcoming charges. Also covers a free trial (trialEndsOn + the price it becomes), a notice period (noticeDays), things that expire unless renewed (renewal=manual) and subscriptions that already ended (status=cancelled). Use dryRun to preview the charge dates first.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
A URL to the JSON Schema for this object.
object
Responses
Section titled “Responses”OK
object
A URL to the JSON Schema for this object.
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Example
{ "$schema": "https://example.com/api/schemas/SubscriptionDetail.json", "history": [ { "kind": "renewal" } ], "subscription": { "altPrice": { "unit": "month" } }, "upcoming": [ { "kind": "renewal" } ]}default
Section titled “default”Error
object
A URL to the JSON Schema for this object.
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
Example
{ "$schema": "https://example.com/api/schemas/ErrorModel.json", "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}