younifyd
Menu

subscriptionBillingCycles

Returns subscription billing cycles for a contract ID.

Use it in a workflow

  1. Add a step and choose the Shopify connector.
  2. Pick the subscriptionBillingCycles action (under Subscription).
  3. Fill in the fields below, then reference the result from later steps as {{subscriptionbillingcycles.response.data}}.

Query

This is the query the action sends by default. Edit it in the step's Query field to change which fields come back.

graphql
query SubscriptionBillingCycles($contractId: ID!, $billingCyclesDateRangeSelector: SubscriptionBillingCyclesDateRangeSelector, $billingCyclesIndexRangeSelector: SubscriptionBillingCyclesIndexRangeSelector, $first: Int, $after: String, $last: Int, $before: String, $reverse: Boolean, $sortKey: SubscriptionBillingCyclesSortKeys) {
  subscriptionBillingCycles(
    contractId: $contractId
    billingCyclesDateRangeSelector: $billingCyclesDateRangeSelector
    billingCyclesIndexRangeSelector: $billingCyclesIndexRangeSelector
    first: $first
    after: $after
    last: $last
    before: $before
    reverse: $reverse
    sortKey: $sortKey
  ) {
    edges {
      cursor
      node {
        billingAttemptExpectedDate
        cycleEndAt
        cycleIndex
        cycleStartAt
        edited
        editedContract
        skipped
        sourceContract
        status
      }
    }
    nodes {
      billingAttemptExpectedDate
      cycleEndAt
      cycleIndex
      cycleStartAt
      edited
      editedContract {
        app
        appAdminUrl
        createdAt
        currencyCode
        customAttributes
        customer
        deliveryMethod
        deliveryPrice
        lineCount
        linesCount
        note
        updatedAt
      }
      skipped
      sourceContract {
        app
        appAdminUrl
        billingPolicy
        createdAt
        currencyCode
        customAttributes
        customer
        deliveryMethod
        deliveryPolicy
        deliveryPrice
        id
        lastBillingAttemptErrorType
        lastPaymentStatus
        lineCount
        linesCount
        nextBillingDate
        note
        originOrder
        revisionId
        status
        updatedAt
      }
      status
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}

Variables

Pass these as a JSON object in the step's Variables field.

contractIdstringrequired

The ID of the subscription contract to retrieve billing cycles for.

billingCyclesDateRangeSelectorobject

Select subscription billing cycles within a date range.

startDatestringrequired
endDatestringrequired
billingCyclesIndexRangeSelectorobject

Select subscription billing cycles within an index range.

startIndexnumberrequired
endIndexnumberrequired
firstnumber

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

afterstring

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

lastnumber

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

beforestring

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

reverseboolean

Reverse the order of the underlying list.

sortKeystring

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).

One ofCYCLE_INDEXID

json
{
  "contractId": "string",
  "billingCyclesDateRangeSelector": {
    "startDate": "string",
    "endDate": "string"
  },
  "billingCyclesIndexRangeSelector": {
    "startIndex": 0,
    "endIndex": 0
  },
  "first": 0,
  "after": "string",
  "last": 0,
  "before": "string",
  "reverse": false,
  "sortKey": "CYCLE_INDEX"
}

Response

Read the result with {{subscriptionbillingcycles.response.data.data.subscriptionBillingCycles}}. If the API returns errors, the step fails and they are at {{subscriptionbillingcycles.response.data.errors}}.

edgesarray<object>
cursorobject
nodeobject
nodesarray<object>
billingAttemptExpectedDateobject
cycleEndAtobject
cycleIndexobject
cycleStartAtobject
editedobject
editedContractobject
skippedobject
sourceContractobject
statusobject
pageInfoobject
endCursorstring
hasNextPageboolean
hasPreviousPageboolean
startCursorstring

Need more? See the Shopify guide for connection setup and behaviour shared by every action.