GET /connectionValidates the key and returns the connected project identity.
The PageCompose Partner API powers native instant triggers for Zapier and Make. Every connection belongs to one project and can access leads only when that permission was granted explicitly.
Connection
In PageCompose, open Site Center > MCP and create a connection with the Zapier or Make profile. The key is shown once, is bound to the current project and grants lead access only.
Authorization: Bearer pagecompose_...Revoking or expiring the key immediately stops API access and removes its active subscriptions.
Surface
GET /connectionValidates the key and returns the connected project identity.
GET /trigger-optionsReturns labelled events and source keys for dynamic provider fields.
GET /sourcesReturns forms, form fields and CRM lists for dynamic output schemas.
GET /leadsReturns up to 20 recent redacted samples for the selected event and source.
GET /subscriptionsLists only subscriptions created by the current connection key.
POST /subscriptionsRegisters one provider callback for an event and source.
DELETE /subscriptions/:idRemoves a subscription owned by the current connection key.
`GET /leads` accepts `event`, `sourceKey` and `limit`. Source keys are `all`, `form:ID` or `list:ID`. Older clients may use `sourceKind` and `sourceId`, but the two formats cannot be mixed.
Lifecycle
Register the callback URL generated by the provider. PageCompose accepts only official Zapier or Make webhook hosts and returns a stable subscription ID for the later detach request.
POST /subscriptions
Content-Type: application/json
{
"provider": "zapier",
"event": "lead.completed",
"sourceKey": "list:newsletter",
"targetUrl": "https://hooks.zapier.com/hooks/standard/..."
}Contract
The event ID remains stable across delivery retries. Form values stay inside `fields`, while `fieldLabels` preserves the human labels used in the published form.
{
"id": "lead.completed:submission-...",
"event": "lead.completed",
"occurredAt": "2026-08-09T08:00:00.000Z",
"projectId": "project-...",
"projectName": "North Studio",
"leadId": "submission-...",
"formId": "contact",
"formName": "Contact",
"listIds": ["newsletter"],
"listNames": ["Newsletter"],
"path": "/contact",
"status": "new",
"fields": { "email": "ada@example.com" },
"fieldLabels": { "email": "Email" }
}Boundary
Keys cannot list workspaces or select another project.
Targets use HTTPS, public DNS checks and AES-256-GCM encrypted storage.
Jobs are idempotent and retry temporary failures with a bounded backoff.
The API returns `401` for invalid keys, `403` without lead permission, `404` for unknown resources, `415` for invalid subscription content types and `429` when the connection limit is exceeded. Responses are never cached.
Contact the PageCompose team for a provider test project and review coordination.