---
title: "Register a Zapier REST-hook for an event (page.published, task.completed, task.live, ai_visibility.scan_completed)."
method: POST
path: "/zapier/subscribe"
---

# Register a Zapier REST-hook for an event (page.published, task.completed, task.live, ai_visibility.scan_completed).

`POST /zapier/subscribe`

## Request

- Base URL: `https://app.seomatic.ai/api/v1`
- URL: `https://app.seomatic.ai/api/v1/zapier/subscribe`
- Auth: HTTP bearer

## Request body

- object
  - `targetUrl` string, uri, required: Zapier's hook catcher URL (https).
  - `event` 'page.published' | 'page.publish_failed' | 'task.completed' | 'task.awaiting_approval' | 'task.decided' | 'task.live' | 'campaign.completed' | 'ai_visibility.scan_completed', required: The event to fire the Zap on.

## Response `201`

Subscription id (pass to unsubscribe)

## Other responses

- `401`: Missing or invalid API key
- `402`: No paid plan or trial (Zapier needs one)
- `429`: Rate limited (per key). Retry-After header set.

---

[API](https://skmtc.dev/seomatic/apis/seomatic-api.md) · [All operations](https://skmtc.dev/seomatic/apis/seomatic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/seomatic/apis/seomatic-api/revisions/113a2a263604?raw)
