Anchor to section titled 'undefined'

eventBridgeWebhookSubscriptionCreate
mutation

Creates a new Amazon EventBridge webhook subscription.

Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your shopify.app.toml may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read About managing webhook subscriptions.


The type of event that triggers the webhook.

Specifies the input fields for an EventBridge webhook subscription.


Was this section helpful?

The list of errors that occurred from executing the mutation.

The webhook subscription that was created.


Was this section helpful?

Examples

Hide code
Copy
mutation eventBridgeWebhookSubscriptionCreate($topic: WebhookSubscriptionTopic!, $webhookSubscription: EventBridgeWebhookSubscriptionInput!) {
  eventBridgeWebhookSubscriptionCreate(topic: $topic, webhookSubscription: $webhookSubscription) {
    webhookSubscription {
      id
      topic
      format
      endpoint {
        __typename
        ... on WebhookEventBridgeEndpoint {
          arn
        }
      }
    }
  }
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2024-04/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation eventBridgeWebhookSubscriptionCreate($topic: WebhookSubscriptionTopic!, $webhookSubscription: EventBridgeWebhookSubscriptionInput!) { eventBridgeWebhookSubscriptionCreate(topic: $topic, webhookSubscription: $webhookSubscription) { webhookSubscription { id topic format endpoint { __typename ... on WebhookEventBridgeEndpoint { arn } } } } }",
 "variables": {
    "topic": "ORDERS_CREATE",
    "webhookSubscription": {
      "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/166357/test-event-source",
      "format": "JSON"
    }
  }
}'
const { admin } = await authenticate.admin(request);

const response = await admin.graphql(
  `#graphql
  mutation eventBridgeWebhookSubscriptionCreate($topic: WebhookSubscriptionTopic!, $webhookSubscription: EventBridgeWebhookSubscriptionInput!) {
    eventBridgeWebhookSubscriptionCreate(topic: $topic, webhookSubscription: $webhookSubscription) {
      webhookSubscription {
        id
        topic
        format
        endpoint {
          __typename
          ... on WebhookEventBridgeEndpoint {
            arn
          }
        }
      }
    }
  }`,
  {
    variables: {
      "topic": "ORDERS_CREATE",
      "webhookSubscription": {
        "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/166357/test-event-source",
        "format": "JSON"
      }
    },
  },
);

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 eventBridgeWebhookSubscriptionCreate($topic: WebhookSubscriptionTopic!, $webhookSubscription: EventBridgeWebhookSubscriptionInput!) {
    eventBridgeWebhookSubscriptionCreate(topic: $topic, webhookSubscription: $webhookSubscription) {
      webhookSubscription {
        id
        topic
        format
        endpoint {
          __typename
          ... on WebhookEventBridgeEndpoint {
            arn
          }
        }
      }
    }
  }
QUERY

variables = {
  "topic": "ORDERS_CREATE",
  "webhookSubscription": {
    "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/166357/test-event-source",
    "format": "JSON"
  }
}

response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session});
const data = await client.query({
  data: {
    "query": `mutation eventBridgeWebhookSubscriptionCreate($topic: WebhookSubscriptionTopic!, $webhookSubscription: EventBridgeWebhookSubscriptionInput!) {
      eventBridgeWebhookSubscriptionCreate(topic: $topic, webhookSubscription: $webhookSubscription) {
        webhookSubscription {
          id
          topic
          format
          endpoint {
            __typename
            ... on WebhookEventBridgeEndpoint {
              arn
            }
          }
        }
      }
    }`,
    "variables": {
      "topic": "ORDERS_CREATE",
      "webhookSubscription": {
        "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/166357/test-event-source",
        "format": "JSON"
      }
    },
  },
});
use Shopify\Clients\Graphql;

$client = new Graphql("your-development-store.myshopify.com", $accessToken);
$query = <<<QUERY
  mutation eventBridgeWebhookSubscriptionCreate($topic: WebhookSubscriptionTopic!, $webhookSubscription: EventBridgeWebhookSubscriptionInput!) {
    eventBridgeWebhookSubscriptionCreate(topic: $topic, webhookSubscription: $webhookSubscription) {
      webhookSubscription {
        id
        topic
        format
        endpoint {
          __typename
          ... on WebhookEventBridgeEndpoint {
            arn
          }
        }
      }
    }
  }
QUERY;

$variables = [
  "topic" => "ORDERS_CREATE",
  "webhookSubscription" => [
    "arn" => "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/166357/test-event-source",
    "format" => "JSON",
  ],
];

$response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{
  "topic": "ORDERS_CREATE",
  "webhookSubscription": {
    "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/166357/test-event-source",
    "format": "JSON"
  }
}
Hide code
Response
JSON
{
  "eventBridgeWebhookSubscriptionCreate": {
    "webhookSubscription": {
      "id": "gid://shopify/WebhookSubscription/7768084103",
      "topic": "ORDERS_CREATE",
      "format": "JSON",
      "endpoint": {
        "__typename": "WebhookEventBridgeEndpoint",
        "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/166357/test-event-source"
      }
    }
  }
}