---
title: SubscriptionContractBase - Customer API
description: The common fields of a subscription contract.
api_version: 2026-01
api_name: customer
type: interface
api_type: graphql
source_url:
  html: >-
    https://shopify.dev/docs/api/customer/latest/interfaces/SubscriptionContractBase
  md: >-
    https://shopify.dev/docs/api/customer/latest/interfaces/SubscriptionContractBase.md
---

# Subscription​Contract​Base

interface

The common fields of a subscription contract.

## Fields

* currency​Code

  [Currency​Code!](https://shopify.dev/docs/api/customer/latest/enums/CurrencyCode)

  non-null

  The currency used for the subscription contract.

* custom​Attributes

  [\[Attribute!\]!](https://shopify.dev/docs/api/customer/latest/objects/Attribute)

  non-null

  A list of custom attributes to be added to the generated orders.

* delivery​Method

  [Subscription​Delivery​Method](https://shopify.dev/docs/api/customer/latest/unions/SubscriptionDeliveryMethod)

  The delivery method for each billing of the subscription contract.

* delivery​Price

  [Money​V2!](https://shopify.dev/docs/api/customer/latest/objects/MoneyV2)

  non-null

  The delivery price for each billing of the subscription contract.

* discounts

  [Subscription​Discount​Connection](https://shopify.dev/docs/api/customer/latest/connections/SubscriptionDiscountConnection)

  The list of subscription discounts associated with the subscription contract.

  * first

    [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

    ### Arguments

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/customer/latest/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  ***

* lines

  [Subscription​Line​Connection!](https://shopify.dev/docs/api/customer/latest/connections/SubscriptionLineConnection)

  non-null

  A list of subscription lines associated with the subscription contract.

  * first

    [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

    ### Arguments

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/customer/latest/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  ***

* lines​Count

  [Count](https://shopify.dev/docs/api/customer/latest/objects/Count)

  The number of lines associated with the subscription contract.

* note

  [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

  A note that will be applied to the generated orders.

* orders

  [Order​Connection!](https://shopify.dev/docs/api/customer/latest/connections/OrderConnection)

  non-null

  A list of the subscription contract's orders.

  * first

    [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

    ### Arguments

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * after

    [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/customer/latest/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  ***

* updated​At

  [Date​Time!](https://shopify.dev/docs/api/customer/latest/scalars/DateTime)

  non-null

  The date and time when the subscription contract was updated.

***

## Types implemented in

* [Subscription​Contract](https://shopify.dev/docs/api/customer/latest/objects/SubscriptionContract)

  OBJECT

  A Subscription Contract.

  * billing​Policy

    [Subscription​Billing​Policy!](https://shopify.dev/docs/api/customer/latest/objects/SubscriptionBillingPolicy)

    non-null

    The billing policy associated with the subscription contract.

  * created​At

    [Date​Time!](https://shopify.dev/docs/api/customer/latest/scalars/DateTime)

    non-null

    The date and time when the subscription contract was created.

  * currency​Code

    [Currency​Code!](https://shopify.dev/docs/api/customer/latest/enums/CurrencyCode)

    non-null

    The currency used for the subscription contract.

  * custom​Attributes

    [\[Attribute!\]!](https://shopify.dev/docs/api/customer/latest/objects/Attribute)

    non-null

    A list of custom attributes to be added to the generated orders.

  * delivery​Method

    [Subscription​Delivery​Method](https://shopify.dev/docs/api/customer/latest/unions/SubscriptionDeliveryMethod)

    The delivery method for each billing of the subscription contract.

  * delivery​Policy

    [Subscription​Delivery​Policy!](https://shopify.dev/docs/api/customer/latest/objects/SubscriptionDeliveryPolicy)

    non-null

    The delivery policy associated with the subscription contract.

  * delivery​Price

    [Money​V2!](https://shopify.dev/docs/api/customer/latest/objects/MoneyV2)

    non-null

    The delivery price for each billing of the subscription contract.

  * discounts

    [Subscription​Discount​Connection](https://shopify.dev/docs/api/customer/latest/connections/SubscriptionDiscountConnection)

    The list of subscription discounts associated with the subscription contract.

    * first

      [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

      ### Arguments

      The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

    * after

      [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

      The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

    * last

      [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

      The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

    * before

      [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

      The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

    * reverse

      [Boolean](https://shopify.dev/docs/api/customer/latest/scalars/Boolean)

      Default:false

      Reverse the order of the underlying list.

    ***

  * id

    [ID!](https://shopify.dev/docs/api/customer/latest/scalars/ID)

    non-null

    A globally-unique ID.

  * last​Billing​Attempt​Error​Type

    [Subscription​Contract​Last​Billing​Error​Type](https://shopify.dev/docs/api/customer/latest/enums/SubscriptionContractLastBillingErrorType)

    The last billing error type of the contract.

  * last​Payment​Status

    [Subscription​Contract​Last​Payment​Status](https://shopify.dev/docs/api/customer/latest/enums/SubscriptionContractLastPaymentStatus)

    The current status of the last payment.

  * lines

    [Subscription​Line​Connection!](https://shopify.dev/docs/api/customer/latest/connections/SubscriptionLineConnection)

    non-null

    A list of subscription lines associated with the subscription contract.

    * first

      [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

      ### Arguments

      The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

    * after

      [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

      The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

    * last

      [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

      The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

    * before

      [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

      The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

    * reverse

      [Boolean](https://shopify.dev/docs/api/customer/latest/scalars/Boolean)

      Default:false

      Reverse the order of the underlying list.

    ***

  * lines​Count

    [Count](https://shopify.dev/docs/api/customer/latest/objects/Count)

    The number of lines associated with the subscription contract.

  * next​Billing​Date

    [Date​Time](https://shopify.dev/docs/api/customer/latest/scalars/DateTime)

    The next billing date for the subscription contract.

  * note

    [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

    A note that will be applied to the generated orders.

  * orders

    [Order​Connection!](https://shopify.dev/docs/api/customer/latest/connections/OrderConnection)

    non-null

    A list of the subscription contract's orders.

    * first

      [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

      ### Arguments

      The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

    * after

      [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

      The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

    * last

      [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

      The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

    * before

      [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

      The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

    * reverse

      [Boolean](https://shopify.dev/docs/api/customer/latest/scalars/Boolean)

      Default:false

      Reverse the order of the underlying list.

    ***

  * origin​Order

    [Order](https://shopify.dev/docs/api/customer/latest/objects/Order)

    The order from which the contract originated.

  * revision​Id

    [Unsigned​Int64!](https://shopify.dev/docs/api/customer/latest/scalars/UnsignedInt64)

    non-null

    The revision ID of the contract.

  * status

    [Subscription​Contract​Subscription​Status!](https://shopify.dev/docs/api/customer/latest/enums/SubscriptionContractSubscriptionStatus)

    non-null

    The current status of the subscription contract.

  * upcoming​Billing​Cycles

    [Subscription​Billing​Cycle​Connection!](https://shopify.dev/docs/api/customer/latest/connections/SubscriptionBillingCycleConnection)

    non-null

    The upcoming billing cycles on the subscription contract.

    * first

      [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

      ### Arguments

      The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

    * after

      [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

      The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

    * last

      [Int](https://shopify.dev/docs/api/customer/latest/scalars/Int)

      The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

    * before

      [String](https://shopify.dev/docs/api/customer/latest/scalars/String)

      The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

    * reverse

      [Boolean](https://shopify.dev/docs/api/customer/latest/scalars/Boolean)

      Default:false

      Reverse the order of the underlying list.

    * sort​Key

      [Subscription​Billing​Cycles​Sort​Keys](https://shopify.dev/docs/api/customer/latest/enums/SubscriptionBillingCyclesSortKeys)

      Default:CYCLE\_INDEX

      Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).

    ***

  * updated​At

    [Date​Time!](https://shopify.dev/docs/api/customer/latest/scalars/DateTime)

    non-null

    The date and time when the subscription contract was updated.

***

##### Variables

```json
{
	"currencyCode": "",
	"customAttributes": "",
	"deliveryMethod": "",
	"deliveryPrice": "",
	"discounts": {
		"first": "",
		"after": "",
		"last": "",
		"before": "",
		"reverse": ""
	},
	"lines": {
		"first": "",
		"after": "",
		"last": "",
		"before": "",
		"reverse": ""
	},
	"linesCount": "",
	"note": "",
	"orders": {
		"first": "",
		"after": "",
		"last": "",
		"before": "",
		"reverse": ""
	},
	"updatedAt": ""
}
```

##### Schema

```graphql
interface SubscriptionContractBase {
  currencyCode: CurrencyCode!
  customAttributes: [Attribute!]!
  deliveryMethod: SubscriptionDeliveryMethod
  deliveryPrice: MoneyV2!
  discounts: SubscriptionDiscountConnection
  lines: SubscriptionLineConnection!
  linesCount: Count
  note: String
  orders: OrderConnection!
  updatedAt: DateTime!
}
```
