Documentation Index
Fetch the complete documentation index at: https://docs.supercycle.com/llms.txt
Use this file to discover all available pages before exploring further.
Breaking change — February 27th, 2026: All merchants will be automatically migrated to the new _cycle format by February 27th, 2026.Merchants can request to be switched earlier to access new features, or request an extension to remain on the legacy format longer. However, merchants staying on the legacy format will not be able to use some new and upcoming features.
The _rental_intent_token was a custom property attached to Shopify order line items that contained information about rental intents in Supercycle.
Overview
The _rental_intent_token was a JSON serialized token that contained all necessary information to create a rental when a customer purchased an item. This token was generated when customers selected rental options in the storefront and was processed when orders were fulfilled.
Field definitions
| Field | Type | Description |
|---|
variant_id | Integer | Internal variant ID (not Shopify ID). |
available_item_count | Integer | Number of items available for this rental. |
available_items | Array of integers | List of internal item IDs that were available. |
schedule | Object | Nested schedule information. |
schedule.rental_start | Date/datetime | When the rental period starts. |
schedule.rental_end | Date/datetime | When the rental period ends. |
schedule.fulfill_at | Datetime (nullable) | When to fulfill/ship the order. |
schedule.receive_at | Datetime (nullable) | When customer should receive the item. |
schedule.restock_by | Datetime (nullable) | When item should be back in inventory. |
schedule.minimum_rental_end | Date (nullable) | Minimum allowed rental end date. |
location_id | Integer (optional) | Shopify location ID where item should come from. |
condition_ids | Array of integers (optional) | Acceptable condition IDs for the item. |
custom_fields | Object (optional) | Custom field key-value pairs. |
method_type | String | Rental type: calendar, subscription, membership, or resale. |
Code example
{
"variant_id": 22682,
"available_item_count": 10,
"available_items": [25267, 25268, 25269, 25270, 25271],
"schedule": {
"rental_start": "2021-01-01",
"rental_end": "2021-01-02",
"fulfill_at": "2021-01-01T10:00:00Z",
"receive_at": "2021-01-10T10:00:00Z",
"restock_by": "2021-01-10T18:00:00Z",
"minimum_rental_end": "2021-01-08"
},
"location_id": 12345,
"condition_ids": [1, 2],
"custom_fields": {
"field_name": "value"
},
"method_type": "calendar"
}
| Old format | New format |
|---|
variant_id | Not included (inferred from line item). |
available_item_count | Moved to _validations.quantity.max. |
available_items | Not included (replaced by filters). |
schedule.rental_start | rental_start |
schedule.rental_end | rental_end |
schedule.fulfill_at | Not included (calculated separately). |
schedule.receive_at | Not included (calculated separately). |
schedule.restock_by | Not included (calculated separately). |
schedule.minimum_rental_end | Not included (calculated separately). |
location_id | item.filters.location.shopify_id |
condition_ids | item.filters.condition.ids |
custom_fields | attachments.custom_fields |
method_type | method_type |
Migration examples
Calendar rental
Old format:
{
"variant_id": 123,
"method_type": "calendar",
"schedule": {
"rental_start": "2026-03-01",
"rental_end": "2026-03-07"
},
"available_items": [1, 2, 3, 4, 5],
"location_id": 789
}
New format:
{
"item": {
"type": "existing",
"filters": {
"availability": {
"from": "2026-03-01",
"to": "2026-03-07"
},
"location": {
"shopify_id": 789
}
}
},
"method_type": "calendar",
"rental_start": "2026-03-01",
"rental_end": "2026-03-07"
}
Membership rental with credit and custom fields
Old format:
{
"variant_id": 456,
"method_type": "membership",
"schedule": {
"rental_start": "2026-03-15",
"rental_end": "2026-04-15"
},
"available_items": [10, 11, 12],
"credit_cost": 20,
"custom_fields": {
"preferred_color": "blue",
"notes": "Handle with care"
}
}
New format:
{
"item": {
"type": "existing",
"filters": {
"availability": {
"from": "2026-03-15",
"to": "2026-04-15"
}
}
},
"attachments": {
"membership_credit": {
"cost": 20
},
"custom_fields": {
"preferred_color": "blue",
"notes": "Handle with care"
}
},
"method_type": "membership",
"rental_start": "2026-03-15",
"rental_end": "2026-04-15"
}
Subscription rental with deposit
Old format:
{
"variant_id": 789,
"method_type": "subscription",
"schedule": {
"rental_start": "2026-04-01",
"rental_end": "2026-04-30"
},
"available_items": [20, 21, 22],
"required_deposit_variant_id": 999,
"location_id": 555,
"condition_ids": [1]
}
New format:
{
"item": {
"type": "existing",
"filters": {
"availability": {
"from": "2026-04-01",
"to": "2026-04-30"
},
"location": {
"shopify_id": 555
},
"condition": {
"ids": [1]
}
}
},
"attachments": {
"deposit": {
"shopify_id": 999
}
},
"method_type": "subscription",
"rental_start": "2026-04-01",
"rental_end": "2026-04-30"
}