API ReferenceView as MarkdownOpenAPI

Price plans & subscriptions

View as Markdown

Price plans are recurring memberships (monthly, yearly) with features and a free trial. A subscription is a user's active plan; content can be limited to subscribers of a plan.

Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.

30 endpoints in 3 parts: Price Plan, Subscription, AI builder.

Retrieve the owner price plan

Returns the owner price plan.

User token

Needs the token of a signed-in user.

Query parameters
idstring

The ID of the owner price plan.

Returns

Returns the PricePlan object.

Status codes

200 401 404 500

GET/owner-price-plan
curl -X GET 'http://builderly.max-media.io/owner-price-plan?ionic=true&id=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "description": "Text shown on the site.",
  "statement_descriptor": "example",
  "plan_features": [
    {
      "feature_type": "example",
      "feature_name": "Example",
      "feature_value": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "price": 49.9,
  "link": "example-item",
  "image": "6543210fedcba98765432100",
  "price_id": "example",
  "payment_link_id": "example-item",
  "free_trial_days": 0,
  "billing_address_collection": "auto",
  "owner_id": "6543210fedcba98765432100",
  "times_showed": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "total_views": 0,
  "disabled": false,
  "ribbon": "example",
  "linked_plans": [
    "6543210fedcba98765432101"
  ],
  "is_hidden": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "recurring_options": {
    "interval": "example",
    "interval_count": 0
  }
}

Retrieve the price plan

Returns the price plan.

Public

Public - no token needed.

Query parameters
skipstring

How many results to skip - for paging.

Returns

Returns the PricePlan object.

Status codes

200 500

GET/price-plan
curl -X GET 'http://builderly.max-media.io/price-plan?ionic=true&skip=...'
Response
{
  "name": "Example",
  "description": "Text shown on the site.",
  "statement_descriptor": "example",
  "plan_features": [
    {
      "feature_type": "example",
      "feature_name": "Example",
      "feature_value": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "price": 49.9,
  "link": "example-item",
  "image": "6543210fedcba98765432100",
  "price_id": "example",
  "payment_link_id": "example-item",
  "free_trial_days": 0,
  "billing_address_collection": "auto",
  "owner_id": "6543210fedcba98765432100",
  "times_showed": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "total_views": 0,
  "disabled": false,
  "ribbon": "example",
  "linked_plans": [
    "6543210fedcba98765432101"
  ],
  "is_hidden": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "recurring_options": {
    "interval": "example",
    "interval_count": 0
  }
}

Create a price plan

Create new price_plan.

User token

Needs the token of a signed-in user.

Parameters
on_behalf_ofstring

The price plan's on behalf of.

namestring

The price plan's name.

descriptionstring

The price plan's description.

imageobjectid

The image - the ID of a media.

pricenumber

The price plan's price.

recurring_optionsstring

The price plan's recurring options.

daysstring

The price plan's days.

free_trial_daysnumber

The price plan's free trial days.

billing_address_collectionstring

The price plan's billing address collection.

Returns

Returns the PricePlan object.

Status codes

201 400 401 403 500

POST/price-plan
curl -X POST 'http://builderly.max-media.io/price-plan?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "on_behalf_of": "...", "name": "...", "description": "...", "image": "...", "price": "..." }'
Response
{
  "name": "Example",
  "description": "Text shown on the site.",
  "statement_descriptor": "example",
  "plan_features": [
    {
      "feature_type": "example",
      "feature_name": "Example",
      "feature_value": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "price": 49.9,
  "link": "example-item",
  "image": "6543210fedcba98765432100",
  "price_id": "example",
  "payment_link_id": "example-item",
  "free_trial_days": 0,
  "billing_address_collection": "auto",
  "owner_id": "6543210fedcba98765432100",
  "times_showed": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "total_views": 0,
  "disabled": false,
  "ribbon": "example",
  "linked_plans": [
    "6543210fedcba98765432101"
  ],
  "is_hidden": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "recurring_options": {
    "interval": "example",
    "interval_count": 0
  }
}

Retrieve a price plan

Returns one price plan, found by its ID.

Optional userUser token

Works without a token; with a user token the answer is personal.

Path parameters
idstringRequired

The ID of the price plan.

Returns

Returns the PricePlan object.

Status codes

200 401 404 500

GET/price-plan/:id
curl -X GET 'http://builderly.max-media.io/price-plan/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "description": "Text shown on the site.",
  "statement_descriptor": "example",
  "plan_features": [
    {
      "feature_type": "example",
      "feature_name": "Example",
      "feature_value": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "price": 49.9,
  "link": "example-item",
  "image": "6543210fedcba98765432100",
  "price_id": "example",
  "payment_link_id": "example-item",
  "free_trial_days": 0,
  "billing_address_collection": "auto",
  "owner_id": "6543210fedcba98765432100",
  "times_showed": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "total_views": 0,
  "disabled": false,
  "ribbon": "example",
  "linked_plans": [
    "6543210fedcba98765432101"
  ],
  "is_hidden": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "recurring_options": {
    "interval": "example",
    "interval_count": 0
  }
}

Update a price plan

Update PricePlan by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the price plan.

Parameters
namestring

The price plan's name.

descriptionstring

The price plan's description.

imageobjectid

The image - the ID of a media.

plan_featuresobject[]

The price plan's plan features.

disabledboolean

Whether the price plan is disabled.

ribbonstring

The price plan's ribbon.

linked_plansobjectid[]

The linked plans - the ID of a price plan.

is_hiddenboolean

Whether the price plan is is hidden.

Returns

Returns the PricePlan object.

Status codes

200 400 401 404 500

PATCH/price-plan/:id
curl -X PATCH 'http://builderly.max-media.io/price-plan/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "...", "description": "...", "image": "...", "plan_features": "...", "disabled": "..." }'
Response
{
  "name": "Example",
  "description": "Text shown on the site.",
  "statement_descriptor": "example",
  "plan_features": [
    {
      "feature_type": "example",
      "feature_name": "Example",
      "feature_value": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "price": 49.9,
  "link": "example-item",
  "image": "6543210fedcba98765432100",
  "price_id": "example",
  "payment_link_id": "example-item",
  "free_trial_days": 0,
  "billing_address_collection": "auto",
  "owner_id": "6543210fedcba98765432100",
  "times_showed": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "total_views": 0,
  "disabled": false,
  "ribbon": "example",
  "linked_plans": [
    "6543210fedcba98765432101"
  ],
  "is_hidden": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "recurring_options": {
    "interval": "example",
    "interval_count": 0
  }
}

Delete a price plan

Delete PricePlan record by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the price plan.

Returns

Returns an empty answer on success.

Status codes

200 400 401 404 500

DELETE/price-plan/:id
curl -X DELETE 'http://builderly.max-media.io/price-plan/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

List all billings

Returns the site's billings, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Status codes

200 401 500

GET/billings
curl -X GET 'http://builderly.max-media.io/billings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve the billings pdf

Returns the billings pdf.

User token

Needs the token of a signed-in user.

Query parameters
startDatestring

Only billings pdfs with this start date.

endDatestring

Only billings pdfs with this end date.

translatestring

Only billings pdfs with this translate.

Status codes

200 401 500

GET/billings-pdf
curl -X GET 'http://builderly.max-media.io/billings-pdf?ionic=true&startDate=...&endDate=...&translate=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "stripeNumber": "example",
  "is_credit_note": false,
  "credit_note_invoice_number": "Text shown on the site.",
  "credit_note_invoice_date": "Text shown on the site.",
  "is_debit_note": false,
  "debit_note_invoice_number": "Text shown on the site.",
  "debit_note_invoice_date": "Text shown on the site.",
  "number": 1,
  "stripeInvoiceId": "example",
  "has_price_quote": false,
  "customer_name": "Example",
  "customer_address": "example",
  "customer_postal_code": "example",
  "customer_city": "example",
  "customer_country": "example",
  "customer_phone": "+359 888 123 456",
  "customer_email": "jane@example.com",
  "customer_tax_id": "example",
  "customer_vat_id": "example",
  "customer_responsible_official": "example",
  "customer_organization_name": "Example",
  "billing_customer_address": "example",
  "billing_customer_postal_code": "example",
  "billing_customer_city": "example",
  "invoice_settings": {
    "number": 0,
    "price_quote_number": "example",
    "bic": "example",
    "swift": "example",
    "tax_id": "example",
    "vat_id": "example",
    "logo": "example",
    "business_name": "Example",
    "business_name_translated": "Example",
    "responsible_official": "example",
    "responsible_official_translated": "example",
    "business_email": "jane@example.com"
  }
}

Retrieve a billing

Returns one billing, found by its ID.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the billing.

namestringRequired

The billing's name.

Status codes

200 404 500

GET/billings/:id/:name
curl -X GET 'http://builderly.max-media.io/billings/{id}/{name}?ionic=true'
Response
{
  "stripeNumber": "example",
  "is_credit_note": false,
  "credit_note_invoice_number": "Text shown on the site.",
  "credit_note_invoice_date": "Text shown on the site.",
  "is_debit_note": false,
  "debit_note_invoice_number": "Text shown on the site.",
  "debit_note_invoice_date": "Text shown on the site.",
  "number": 1,
  "stripeInvoiceId": "example",
  "has_price_quote": false,
  "customer_name": "Example",
  "customer_address": "example",
  "customer_postal_code": "example",
  "customer_city": "example",
  "customer_country": "example",
  "customer_phone": "+359 888 123 456",
  "customer_email": "jane@example.com",
  "customer_tax_id": "example",
  "customer_vat_id": "example",
  "customer_responsible_official": "example",
  "customer_organization_name": "Example",
  "billing_customer_address": "example",
  "billing_customer_postal_code": "example",
  "billing_customer_city": "example",
  "invoice_settings": {
    "number": 0,
    "price_quote_number": "example",
    "bic": "example",
    "swift": "example",
    "tax_id": "example",
    "vat_id": "example",
    "logo": "example",
    "business_name": "Example",
    "business_name_translated": "Example",
    "responsible_official": "example",
    "responsible_official_translated": "example",
    "business_email": "jane@example.com"
  }
}

Create a subscription

Creates a subscription from the fields sent.

User token

Needs the token of a signed-in user.

Path parameters
user_idstringRequired

The user id - the ID of a user.

Returns

Returns the Subscription object.

Status codes

200 401 500

POST/cancel_all_subscriptions/:user_id
curl -X POST 'http://builderly.max-media.io/cancel_all_subscriptions/{user_id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "stripe_subscription_id": "example",
  "user_id": "6543210fedcba98765432100",
  "status": 0,
  "payment_intent_id": "example",
  "price_plan": "6543210fedcba98765432100",
  "rating_mail_sent": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create a subscription

Creates a subscription from the fields sent.

User token

Needs the token of a signed-in user.

Path parameters
subscription_idstringRequired

The subscription's subscription id.

Returns

Returns the Subscription object.

Status codes

200 401 404 500

POST/cancel_subscription/:subscription_id
curl -X POST 'http://builderly.max-media.io/cancel_subscription/{subscription_id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "stripe_subscription_id": "example",
  "user_id": "6543210fedcba98765432100",
  "status": 0,
  "payment_intent_id": "example",
  "price_plan": "6543210fedcba98765432100",
  "rating_mail_sent": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create a create subscription

Creates a create subscription from the fields sent.

User tokenOptional user

Needs the token of a signed-in user.

Parameters
subscription_idstring

The create subscription's subscription id.

payment_intentstring

The create subscription's payment intent.

Returns

Returns the Subscription object.

Status codes

201 401 500

POST/create_subscription
curl -X POST 'http://builderly.max-media.io/create_subscription?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "subscription_id": "...", "payment_intent": "..." }'
Response
{
  "stripe_subscription_id": "example",
  "user_id": "6543210fedcba98765432100",
  "status": 0,
  "payment_intent_id": "example",
  "price_plan": "6543210fedcba98765432100",
  "rating_mail_sent": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create a create subscription dpm

Creates a create subscription dpm from the fields sent.

User tokenOptional user

Needs the token of a signed-in user.

Parameters
newsletterstring

The create subscription dpm's newsletter.

agestring

The create subscription dpm's age.

citystring

The create subscription dpm's city.

price_planstring

The create subscription dpm's price plan.

payment_methodstring

The create subscription dpm's payment method.

Status codes

200 201 401 403 500

POST/create_subscription_dpm
curl -X POST 'http://builderly.max-media.io/create_subscription_dpm?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "newsletter": "...", "age": "...", "city": "...", "price_plan": "...", "payment_method": "..." }'
Response
{
  "name": "Example",
  "age": 1,
  "email": "jane@example.com",
  "city": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

List all invoices

Returns the site's invoices, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Query parameters
endDatestring

Only invoices with this end date.

startDatestring

Only invoices with this start date.

customerstring

Only invoices with this customer.

languagestring

Only invoices with this language.

Status codes

200 401 500

GET/invoices
curl -X GET 'http://builderly.max-media.io/invoices?ionic=true&endDate=...&startDate=...&customer=...' \
  -H 'Authorization: Bearer <TOKEN>'

Create a payment method

Creates a payment method from the fields sent.

Optional userUser token

Works without a token; with a user token the answer is personal.

Status codes

201 401 500

POST/new_payment_method
curl -X POST 'http://builderly.max-media.io/new_payment_method?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Create a payment method

Creates a payment method from the fields sent.

Optional userUser token

Works without a token; with a user token the answer is personal.

Parameters
newsletterstring

The payment method's newsletter.

agestring

The payment method's age.

citystring

The payment method's city.

price_planstring

The payment method's price plan.

Returns

Returns the PaymentMethod object.

Status codes

201 401 403 500

POST/payment_method
curl -X POST 'http://builderly.max-media.io/payment_method?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "newsletter": "...", "age": "...", "city": "...", "price_plan": "..." }'
Response
{
  "has_cash": false,
  "cash_locale": "Pay by cash",
  "cash_instructions": "example",
  "cash_increase": 0,
  "has_card": false,
  "card_locale": "Pay with credit card",
  "email": "jane@example.com",
  "country": "example",
  "has_invoicing": false,
  "invoice_locale": "Pay via invoice",
  "invoicing_instructions": "example",
  "currency": "EUR",
  "agreedToTerms": false,
  "agreedToTermsAt": "example",
  "merchant_id": "example",
  "has_paypal": false,
  "paypal_increase": 0,
  "paypal_id": "example",
  "lock_currency": false,
  "commission_percentage": 4.4,
  "two_currencies": false,
  "second_currency": "EUR",
  "calculate_rate": false,
  "currency_rate": 1
}

Retrieve a payment method

Returns one payment method, found by its ID.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the payment method.

Status codes

200 401 500

GET/payment_method/:id
curl -X GET 'http://builderly.max-media.io/payment_method/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Delete a payment method

Deletes the payment method. This cannot be undone.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the payment method.

Returns

Returns an empty answer on success.

Status codes

200 401 500

DELETE/payment_method/:id
curl -X DELETE 'http://builderly.max-media.io/payment_method/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Update the payment method

Changes the fields sent; the others stay as they are.

User token

Needs the token of a signed-in user.

Path parameters
setup_intentstringRequired

The payment method's setup intent.

old_payment_methodstringRequired

The payment method's old payment method.

Status codes

200 401 500

PATCH/payment_method/:setup_intent/:old_payment_method
curl -X PATCH 'http://builderly.max-media.io/payment_method/{setup_intent}/{old_payment_method}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

List all payment methods

Returns the site's payment methods, newest first unless a sort is given.

Admin token

Needs a site admin token.

Returns

Returns a list of PaymentMethod objects.

Status codes

200 401 500

GET/payment_methods
curl -X GET 'http://builderly.max-media.io/payment_methods?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "has_cash": false,
    "cash_locale": "Pay by cash",
    "cash_instructions": "example",
    "cash_increase": 0,
    "has_card": false,
    "card_locale": "Pay with credit card",
    "email": "jane@example.com",
    "country": "example",
    "has_invoicing": false,
    "invoice_locale": "Pay via invoice",
    "invoicing_instructions": "example",
    "currency": "EUR",
    "agreedToTerms": false,
    "agreedToTermsAt": "example",
    "merchant_id": "example",
    "has_paypal": false,
    "paypal_increase": 0,
    "paypal_id": "example",
    "lock_currency": false,
    "commission_percentage": 4.4,
    "two_currencies": false,
    "second_currency": "EUR",
    "calculate_rate": false,
    "currency_rate": 1
  }
]

Retrieve a subscription reciept

Returns one subscription reciept, found by its ID.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the subscription reciept.

Status codes

200 500

GET/subscription_reciept/:id
curl -X GET 'http://builderly.max-media.io/subscription_reciept/{id}?ionic=true'
Response
{
  "stripe_subscription_id": "example",
  "user_id": "6543210fedcba98765432100",
  "status": 0,
  "payment_intent_id": "example",
  "price_plan": "6543210fedcba98765432100",
  "rating_mail_sent": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

List all subscriptions

Returns the site's subscriptions, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Returns

Returns a list of Subscription objects.

Status codes

200 401 500

GET/subscriptions
curl -X GET 'http://builderly.max-media.io/subscriptions?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "stripe_subscription_id": "example",
    "user_id": "6543210fedcba98765432100",
    "status": 0,
    "payment_intent_id": "example",
    "price_plan": "6543210fedcba98765432100",
    "rating_mail_sent": false,
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z"
  }
]

Create a subscription

Create new subscription.

User token

Needs the token of a signed-in user.

Status codes

201 400 401 500

POST/subscriptions
curl -X POST 'http://builderly.max-media.io/subscriptions?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve a subscription

Returns one subscription, found by its ID.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the subscription.

Returns

Returns the Subscription object.

Status codes

200 401 404 500

GET/subscriptions/:id
curl -X GET 'http://builderly.max-media.io/subscriptions/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "stripe_subscription_id": "example",
  "user_id": "6543210fedcba98765432100",
  "status": 0,
  "payment_intent_id": "example",
  "price_plan": "6543210fedcba98765432100",
  "rating_mail_sent": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

List all transactions

Returns the site's transactions, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Status codes

200 401 500

GET/transactions
curl -X GET 'http://builderly.max-media.io/transactions?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve the user billings pdf

Returns the user billings pdf.

User token

Needs the token of a signed-in user.

Query parameters
startDatestring

Only user billings pdfs with this start date.

endDatestring

Only user billings pdfs with this end date.

translatestring

Only user billings pdfs with this translate.

Status codes

200 401 500

GET/user-billings-pdf
curl -X GET 'http://builderly.max-media.io/user-billings-pdf?ionic=true&startDate=...&endDate=...&translate=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "stripeNumber": "example",
  "is_credit_note": false,
  "credit_note_invoice_number": "Text shown on the site.",
  "credit_note_invoice_date": "Text shown on the site.",
  "is_debit_note": false,
  "debit_note_invoice_number": "Text shown on the site.",
  "debit_note_invoice_date": "Text shown on the site.",
  "number": 1,
  "stripeInvoiceId": "example",
  "has_price_quote": false,
  "customer_name": "Example",
  "customer_address": "example",
  "customer_postal_code": "example",
  "customer_city": "example",
  "customer_country": "example",
  "customer_phone": "+359 888 123 456",
  "customer_email": "jane@example.com",
  "customer_tax_id": "example",
  "customer_vat_id": "example",
  "customer_responsible_official": "example",
  "customer_organization_name": "Example",
  "billing_customer_address": "example",
  "billing_customer_postal_code": "example",
  "billing_customer_city": "example"
}

Retrieve a user billing

Returns one user billing, found by its ID.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the user billing.

namestringRequired

The user billing's name.

Status codes

200 401 404 500

GET/user-billings/:id/:name
curl -X GET 'http://builderly.max-media.io/user-billings/{id}/{name}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "stripeNumber": "example",
  "is_credit_note": false,
  "credit_note_invoice_number": "Text shown on the site.",
  "credit_note_invoice_date": "Text shown on the site.",
  "is_debit_note": false,
  "debit_note_invoice_number": "Text shown on the site.",
  "debit_note_invoice_date": "Text shown on the site.",
  "number": 1,
  "stripeInvoiceId": "example",
  "has_price_quote": false,
  "customer_name": "Example",
  "customer_address": "example",
  "customer_postal_code": "example",
  "customer_city": "example",
  "customer_country": "example",
  "customer_phone": "+359 888 123 456",
  "customer_email": "jane@example.com",
  "customer_tax_id": "example",
  "customer_vat_id": "example",
  "customer_responsible_official": "example",
  "customer_organization_name": "Example",
  "billing_customer_address": "example",
  "billing_customer_postal_code": "example",
  "billing_customer_city": "example"
}

Create a price plan with AI

Create a price plan from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the price plan, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the price plan to change.

Status codes

200 401 500

POST/create-new-price-plan
curl -X POST 'http://builderly.max-media.io/create-new-price-plan?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'
Response
{
  "chat_id": "6543210fedcba98765432100",
  "role": "user",
  "text": "Text shown on the site.",
  "target_url": "example-item",
  "action": "RESPONSE",
  "options": [
    "example"
  ],
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gemini_uri": "example",
      "gemini_interaction_id": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "products": [
    "6543210fedcba98765432101"
  ],
  "services": [
    "6543210fedcba98765432101"
  ],
  "blogposts": [
    "6543210fedcba98765432101"
  ],
  "programs": [
    "6543210fedcba98765432101"
  ],
  "suggestions": [
    {
      "text": "Text shown on the site.",
      "route": "example",
      "item_id": "6543210fedcba98765432100",
      "medias": [],
      "picture": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "is_system": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data": {
    "object": "example",
    "object_type": "example",
    "edit_summary": "example",
    "edit_diff": "example",
    "undo_record": "example",
    "hero_animation_offer": "example",
    "preview_state": "example",
    "pending_credit_cost": 0,
    "target_restore": "example",
    "media_request": "example",
    "item_request": "example",
    "reference_request": "example"
  }
}

Generate a price plan with AI

Use it to create a new subscription tier or price plan product.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the price plan, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/generate-price-plan
curl -X POST 'http://builderly.max-media.io/generate-price-plan?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Modify a price plan with AI

Use it to edit or update an existing subscription or price plan.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the price plan, in plain words - any language.

item_datastring

The current price plan, as JSON - the AI changes it and returns the result.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

item_idstring

The ID of the price plan to change.

item_idsstring

The price plan's item ids.

Status codes

200 401 500

POST/modify-price-plan
curl -X POST 'http://builderly.max-media.io/modify-price-plan?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "item_data": "...", "chatId": "...", "item_id": "...", "item_ids": "..." }'
↑↓ Navigate↵ GoEsc Close