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
      filter
      format
      endpoint {
        __typename
        ... on WebhookEventBridgeEndpoint {
          arn
        }
      }
    }
    userErrors {
      field
      message
    }
  }
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2025-01/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 filter format endpoint { __typename ... on WebhookEventBridgeEndpoint { arn } } } userErrors { field message } } }",
 "variables": {
    "topic": "METAOBJECTS_CREATE",
    "webhookSubscription": {
      "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/1830279/test-event-source",
      "format": "JSON",
      "filter": "type:lookbook"
    }
  }
}'
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
        filter
        format
        endpoint {
          __typename
          ... on WebhookEventBridgeEndpoint {
            arn
          }
        }
      }
      userErrors {
        field
        message
      }
    }
  }`,
  {
    variables: {
      "topic": "METAOBJECTS_CREATE",
      "webhookSubscription": {
        "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/1830279/test-event-source",
        "format": "JSON",
        "filter": "type:lookbook"
      }
    },
  },
);

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
        filter
        format
        endpoint {
          __typename
          ... on WebhookEventBridgeEndpoint {
            arn
          }
        }
      }
      userErrors {
        field
        message
      }
    }
  }
QUERY

variables = {
  "topic": "METAOBJECTS_CREATE",
  "webhookSubscription": {
    "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/1830279/test-event-source",
    "format": "JSON",
    "filter": "type:lookbook"
  }
}

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
          filter
          format
          endpoint {
            __typename
            ... on WebhookEventBridgeEndpoint {
              arn
            }
          }
        }
        userErrors {
          field
          message
        }
      }
    }`,
    "variables": {
      "topic": "METAOBJECTS_CREATE",
      "webhookSubscription": {
        "arn": "arn:aws:events:us-east-1::event-source/aws.partner/shopify.com/1830279/test-event-source",
        "format": "JSON",
        "filter": "type:lookbook"
      }
    },
  },
});
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
        filter
        format
        endpoint {
          __typename
          ... on WebhookEventBridgeEndpoint {
            arn
          }
        }
      }
      userErrors {
        field
        message
      }
    }
  }
QUERY;

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

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