Skip to main content
POST
/
v1
/
subscriptions
Create
curl --request POST \
  --url https://{defaultHost}/v1/subscriptions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "subscription": {
    "customer": "9c630b27-9c53-4ef3-898d-d0d5c522f02c",
    "price": "059d630f-2d1c-4740-a41b-a2135cc2a69b",
    "payment_method": "29a7ad21-d7a1-4c92-8c3b-087d76c8c0d5"
  }
}
'
{
  "id": "1ef913bb-bd2f-4395-bcef-8239d524ff30",
  "object": "subscription",
  "ad_hoc_amount": null,
  "affiliation_expires_at": null,
  "cancel_at_period_end": false,
  "currency": "usd",
  "current_period_end_at": 1780689334,
  "current_period_start_at": 1778010934,
  "ended_at": null,
  "finite": false,
  "last_renewal_reminder_sent_at": null,
  "live_mode": true,
  "manual_payment": false,
  "metadata": {},
  "pending_update": {},
  "price_readonly": false,
  "portal_url": "http://app.example.com/portal_redirect/subscriptions/1ef913bb-bd2f-4395-bcef-8239d524ff30",
  "quantity": 1,
  "remaining_period_count": null,
  "restart_on_completed": false,
  "restore_at": null,
  "subtotal_amount": 2900,
  "status": "incomplete",
  "tax_enabled": false,
  "trial_end_at": null,
  "trial_start_at": null,
  "variant_options": null,
  "affiliation": null,
  "current_cancellation_act": null,
  "current_period": "b3e19e96-ed1f-49af-94e1-2f5f3fe7169c",
  "customer": "9c630b27-9c53-4ef3-898d-d0d5c522f02c",
  "discount": null,
  "manual_payment_method": null,
  "payment_method": "29a7ad21-d7a1-4c92-8c3b-087d76c8c0d5",
  "price": "059d630f-2d1c-4740-a41b-a2135cc2a69b",
  "purchase": "07df9fe2-87b2-45f1-a65c-1412c7a60c07",
  "shipping_method": null,
  "variant": null,
  "created_at": 1778010934,
  "updated_at": 1778010934
}

Documentation Index

Fetch the complete documentation index at: https://developer.surecart.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
subscription
object

Response

200 - application/json

Success

id
string | null

The UUID of the specific object.

object
string

A string describing the object type returned.

ad_hoc_amount
integer | null

The amount to use for this subscription when the associated price is ad_hoc=true.

affiliation_expires_at
integer | null

Time at which the affiliation will expire.

cancel_at_period_end
boolean

If the subscription is set to cancel at the end of the current period. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period.

live_mode
boolean

Set to true if this subscription is in live mode, and set to false if it is in test mode.

manual_payment
boolean

Whether or not this subscription should finalize checkouts during renewal with the manual_payment=true option.

quantity
integer

The quantity of products being purchased.

restore_at
integer | null

The time at which this subscription will automatically be restored. This can only be set if the subscription is canceled or set to cancel at period end.

restart_on_completed
boolean

Whether installment subscriptions should be automatically restarted when they reach the completed state. When the subscription is created, this value will be inherited from the price restart_subscription_on_completed value.

tax_enabled
boolean

Whether or not tax is enabled for this subscription. This will default to the account's tax_protocol.tax_enabled value when the subscription is created.

trial_end_at
integer | null

If the subscription has a trial, the end of that trial.

metadata
object

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

current_period_end_at
integer | null

End of the current period that the subscription is in. At the end of this period, a new period will be created. This will be null when the subscription has a one-time price.

current_period_start_at
integer | null

Start of the current period that the subscription is in.

ended_at
integer | null

If the subscription has ended, the date the subscription ended.

finite
boolean

Whether or not this subscription belongs to a price with a set recurring_period_count, meaning it has a defined end.

last_renewal_reminder_sent_at
integer | null

Time at which the last renewal reminder notification sent. Measured in seconds since the Unix epoch.

pending_update
object
portal_url
string | null

A URL that will redirect to this subscription's correct portal page (hosted or external).

price_readonly
boolean

Whether or not the price of this subscription can be modified. If true, the price is locked and cannot be changed

remaining_period_count
integer | null

The number of periods remaining before this subscription ends. This count is reduced when a period is paid.

subtotal_amount
integer

Total of the subscription before discounts or taxes are applied.

status
string

The current status of this subscription, which can be one of incomplete, trialing, active, past_due, canceled, or completed.

affiliation
object

The affiliation associated with this subscription.

current_cancellation_act

Expandable – The associated cancellation act ID.

current_period

Expandable – The associated period ID.

customer

Expandable – The associated customer ID.

discount

Expandable – The associated discount ID.

manual_payment_method

Expandable – The associated manual payment method ID.

payment_method

Expandable – The associated payment method ID.

periods

Expandable – Property not returned unless expanded.

price

Expandable – The associated price ID.

purchase

Expandable – The associated purchase ID.

shipping_method

Expandable – The associated shipping method ID.

variant

Expandable – The associated variant ID.

variant_options
array | null

An array of the associated variant's options.

created_at
integer | null

Time at which the object was created. Measured in seconds since the Unix epoch.

updated_at
integer | null

Time at which the object was last updated. Measured in seconds since the Unix epoch.