Anchor to section titled 'undefined'

subscriptionBillingAttemptCreate
mutation

Requires write_own_subscription_contracts access scope. Also: The user must have manage_orders_information permission.

Creates a new subscription billing attempt. For more information, refer to Create a subscription contract.


The information to apply as a billing attempt.

Anchor to subscriptionContractId
subscriptionContractId
required

The ID of the subscription contract.


Was this section helpful?

The subscription billing attempt.

The list of errors that occurred from executing the mutation.


Was this section helpful?

Examples

Hide code
DescriptionCopy
mutation subscriptionBillingAttemptCreate($contractId: ID!, $index: Int!) {
  subscriptionBillingAttemptCreate(subscriptionContractId: $contractId, subscriptionBillingAttemptInput: {billingCycleSelector: {index: $index}, idempotencyKey: "aaa-bbb-ccc", originTime: "2020-10-01T10:00:00Z"}) {
    subscriptionBillingAttempt {
      id
      ready
    }
    userErrors {
      field
      message
    }
  }
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2024-07/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation subscriptionBillingAttemptCreate($contractId: ID!, $index: Int!) { subscriptionBillingAttemptCreate(subscriptionContractId: $contractId, subscriptionBillingAttemptInput: {billingCycleSelector: {index: $index}, idempotencyKey: \"aaa-bbb-ccc\", originTime: \"2020-10-01T10:00:00Z\"}) { subscriptionBillingAttempt { id ready } userErrors { field message } } }",
 "variables": {
    "contractId": "gid://shopify/SubscriptionContract/593791907",
    "index": 1
  }
}'
const { admin } = await authenticate.admin(request);

const response = await admin.graphql(
  `#graphql
  mutation subscriptionBillingAttemptCreate($contractId: ID!, $index: Int!) {
    subscriptionBillingAttemptCreate(subscriptionContractId: $contractId, subscriptionBillingAttemptInput: {billingCycleSelector: {index: $index}, idempotencyKey: "aaa-bbb-ccc", originTime: "2020-10-01T10:00:00Z"}) {
      subscriptionBillingAttempt {
        id
        ready
      }
      userErrors {
        field
        message
      }
    }
  }`,
  {
    variables: {
      "contractId": "gid://shopify/SubscriptionContract/593791907",
      "index": 1
    },
  },
);

const data = await response.json();
session = ShopifyAPI::Auth::Session.new(
  shop: "your-development-store.myshopify.com",
  access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
  session: session
)

query = <<~QUERY
  mutation subscriptionBillingAttemptCreate($contractId: ID!, $index: Int!) {
    subscriptionBillingAttemptCreate(subscriptionContractId: $contractId, subscriptionBillingAttemptInput: {billingCycleSelector: {index: $index}, idempotencyKey: "aaa-bbb-ccc", originTime: "2020-10-01T10:00:00Z"}) {
      subscriptionBillingAttempt {
        id
        ready
      }
      userErrors {
        field
        message
      }
    }
  }
QUERY

variables = {
  "contractId": "gid://shopify/SubscriptionContract/593791907",
  "index": 1
}

response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session});
const data = await client.query({
  data: {
    "query": `mutation subscriptionBillingAttemptCreate($contractId: ID!, $index: Int!) {
      subscriptionBillingAttemptCreate(subscriptionContractId: $contractId, subscriptionBillingAttemptInput: {billingCycleSelector: {index: $index}, idempotencyKey: "aaa-bbb-ccc", originTime: "2020-10-01T10:00:00Z"}) {
        subscriptionBillingAttempt {
          id
          ready
        }
        userErrors {
          field
          message
        }
      }
    }`,
    "variables": {
      "contractId": "gid://shopify/SubscriptionContract/593791907",
      "index": 1
    },
  },
});
use Shopify\Clients\Graphql;

$client = new Graphql("your-development-store.myshopify.com", $accessToken);
$query = <<<QUERY
  mutation subscriptionBillingAttemptCreate($contractId: ID!, $index: Int!) {
    subscriptionBillingAttemptCreate(subscriptionContractId: $contractId, subscriptionBillingAttemptInput: {billingCycleSelector: {index: $index}, idempotencyKey: "aaa-bbb-ccc", originTime: "2020-10-01T10:00:00Z"}) {
      subscriptionBillingAttempt {
        id
        ready
      }
      userErrors {
        field
        message
      }
    }
  }
QUERY;

$variables = [
  "contractId" => "gid://shopify/SubscriptionContract/593791907",
  "index" => 1,
];

$response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{
  "contractId": "gid://shopify/SubscriptionContract/593791907",
  "index": 1
}
Hide code
Response
JSON
{
  "subscriptionBillingAttemptCreate": {
    "subscriptionBillingAttempt": {
      "id": "gid://shopify/SubscriptionBillingAttempt/528177097",
      "ready": false
    },
    "userErrors": []
  }
}