API-Referenz
Automation
Subscriptions made by Power Automate, Zapier and other platforms that subscribe through the API.
List subscriptions
GET/hooks
Lists the workspace's automation subscriptions, newest first. Their callback addresses are never shown.
- Scopes
- webhooks:read
Antworten
- 200 The subscriptions. HookList
Felder
dataHook[]The subscriptions.
Felder anzeigen
idstring (uuid)The subscription's id.
eventstringThe event type it receives.
eventIdstring (uuid)The one event it listens to; every event when empty.
clientstringThe platform that made it: powerautomate, zapier or make.
activebooleanWhether it is sent anything.
createdUtcstring (date-time)When it was made, in UTC.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 429 rateLimited.
Ablehnungen
Anfrage
curl "https://attendbeacon.com/api/v1/hooks" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/hooks", {
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Get, "https://attendbeacon.com/api/v1/hooks");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/hooks",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
$data = Invoke-RestMethod -Method Get -Uri "https://attendbeacon.com/api/v1/hooks" -Headers $headers401 invalidKey, keyExpired, keyRevoked.
{
"type": "https://attendbeacon.com/developers/errors#invalidKey",
"title": "No working API key",
"status": 401,
"detail": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key.",
"instance": "/api/v1/hooks",
"code": "invalidKey",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key."
}Subscribe to an event type Ändert Daten
POST/hooks
Subscribes a callback address to one event type, for every event of the workspace or one of them. The answer's Location header is the address to DELETE to unsubscribe. Each delivery is a plain JSON body: id, type, timestamp and what happened. A callback that answers 410 Gone is unsubscribed, and every subscription goes when its key is revoked or expires. Needs webhooks:write (keys made before 15 October 2026: webhooks:read) and the scopes of what the type delivers.
- Scopes
- webhooks:write
- Senden Sie einen Idempotency-Key, damit Wiederholungen sicher sind. →
Parameter
Header
Idempotency-KeystringA key of your own, such as a UUID, so a retry after a lost connection is answered with the first answer instead of doing it twice. Kept 24 hours.
Body NewHookWithType
The callback, the event type and optionally the event.
urlstringerforderlichThe https address to call with each event.
eventstringerforderlichThe event type to receive.
Einer von:
attendee.registered,attendee.updated,attendee.cancelled,attendee.erased,order.paid,checkin.created,feedback.given,lead.captured,certificate.issued,content.published,stay.requested,stay.assigned,stay.changed,stay.cancelled,member.joined,member.left,travel.changed,claim.submitted,claim.approved,claim.paid,shift.signed_up,shift.droppedeventIdstring (uuid)Only this event of the workspace; every event when absent.
Antworten
- 201 Subscribed. Location names the subscription. Hook
Felder
idstring (uuid)The subscription's id.
eventstringThe event type it receives.
eventIdstring (uuid)The one event it listens to; every event when empty.
clientstringThe platform that made it: powerautomate, zapier or make.
activebooleanWhether it is sent anything.
createdUtcstring (date-time)When it was made, in UTC.
- 400 invalidRequest, tooManyHooks, invalidIdempotencyKey.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 eventNotFound.
- 409 idempotencyKeyInUse.
- 422 idempotencyKeyReused.
- 429 rateLimited.
Ablehnungen
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound invalidRequest tooManyHooks idempotencyKeyInUse idempotencyKeyReused invalidIdempotencyKey
Anfrage
curl -X POST "https://attendbeacon.com/api/v1/hooks" \
-H "Authorization: Bearer $ATTENDBEACON_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'const response = await fetch("https://attendbeacon.com/api/v1/hooks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`,
"Idempotency-Key": crypto.randomUUID(),
"Content-Type": "application/json"
},
body: JSON.stringify({})
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Post, "https://attendbeacon.com/api/v1/hooks");
request.Headers.Add("Idempotency-Key", Guid.NewGuid().ToString());
request.Content = new StringContent("""
{}
""", Encoding.UTF8, "application/json");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os, uuid
import requests
response = requests.post(
"https://attendbeacon.com/api/v1/hooks",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}",
"Idempotency-Key": str(uuid.uuid4())
},
json={}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
"Idempotency-Key" = [guid]::NewGuid().ToString()
}
$body = @'
{}
'@
$data = Invoke-RestMethod -Method Post -Uri "https://attendbeacon.com/api/v1/hooks" -Headers $headers -ContentType "application/json" -Body $body400 invalidRequest, tooManyHooks, invalidIdempotencyKey.
{
"type": "https://attendbeacon.com/developers/errors#invalidRequest",
"title": "The request is not valid",
"status": 400,
"detail": "A field or parameter is missing or wrong; errors names each, with what is wrong.",
"instance": "/api/v1/hooks",
"code": "invalidRequest",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"errors": [
{
"field": "startDate",
"message": "startDate is a date such as 2026-11-12."
}
],
"error": "A field or parameter is missing or wrong; errors names each, with what is wrong."
}Subscribe to one event type Ändert Daten
POST/hooks/{eventType}
Subscribes a callback address to the event type in the path. The same as posting to the hooks list with the type in the body; the AttendBeacon connector uses one path per trigger.
- Scopes
- webhooks:write
- Senden Sie einen Idempotency-Key, damit Wiederholungen sicher sind. →
Parameter
Pfad
eventTypestringerforderlichThe event type to receive.
Einer von:
attendee.registered,attendee.updated,attendee.cancelled,attendee.erased,order.paid,checkin.created,feedback.given,lead.captured,certificate.issued,content.published,member.joined,member.left,stay.requested,stay.assigned,stay.changed,stay.cancelled,shift.signed_up,shift.dropped,travel.changed,claim.submitted,claim.approved,claim.paid
Header
Idempotency-KeystringA key of your own, such as a UUID, so a retry after a lost connection is answered with the first answer instead of doing it twice. Kept 24 hours.
Body NewHook
Where to send what happens, and for which event.
urlstringerforderlichThe https address to call with each event.
eventIdstring (uuid)Only this event of the workspace; every event when empty.
Antworten
- 201 Subscribed. Location names the subscription. Hook
Felder
idstring (uuid)The subscription's id.
eventstringThe event type it receives.
eventIdstring (uuid)The one event it listens to; every event when empty.
clientstringThe platform that made it: powerautomate, zapier or make.
activebooleanWhether it is sent anything.
createdUtcstring (date-time)When it was made, in UTC.
- 400 invalidRequest, tooManyHooks, invalidIdempotencyKey.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 eventNotFound.
- 409 idempotencyKeyInUse.
- 422 idempotencyKeyReused.
- 429 rateLimited.
Ablehnungen
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound invalidRequest tooManyHooks idempotencyKeyInUse idempotencyKeyReused invalidIdempotencyKey
Anfrage
curl -X POST "https://attendbeacon.com/api/v1/hooks/attendee.registered" \
-H "Authorization: Bearer $ATTENDBEACON_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'const response = await fetch("https://attendbeacon.com/api/v1/hooks/attendee.registered", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`,
"Idempotency-Key": crypto.randomUUID(),
"Content-Type": "application/json"
},
body: JSON.stringify({})
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Post, "https://attendbeacon.com/api/v1/hooks/attendee.registered");
request.Headers.Add("Idempotency-Key", Guid.NewGuid().ToString());
request.Content = new StringContent("""
{}
""", Encoding.UTF8, "application/json");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os, uuid
import requests
response = requests.post(
"https://attendbeacon.com/api/v1/hooks/attendee.registered",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}",
"Idempotency-Key": str(uuid.uuid4())
},
json={}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
"Idempotency-Key" = [guid]::NewGuid().ToString()
}
$body = @'
{}
'@
$data = Invoke-RestMethod -Method Post -Uri "https://attendbeacon.com/api/v1/hooks/attendee.registered" -Headers $headers -ContentType "application/json" -Body $body400 invalidRequest, tooManyHooks, invalidIdempotencyKey.
{
"type": "https://attendbeacon.com/developers/errors#invalidRequest",
"title": "The request is not valid",
"status": 400,
"detail": "A field or parameter is missing or wrong; errors names each, with what is wrong.",
"instance": "/api/v1/hooks/{eventType}",
"code": "invalidRequest",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"errors": [
{
"field": "startDate",
"message": "startDate is a date such as 2026-11-12."
}
],
"error": "A field or parameter is missing or wrong; errors names each, with what is wrong."
}Get a subscription
GET/hooks/{hookId}
Gets one automation subscription of the workspace, without its callback address.
- Scopes
- webhooks:read
Parameter
Pfad
hookIdstring (uuid)erforderlichThe subscription's id, from the Location header of the answer that made it.
Antworten
- 200 The subscription. Hook
Felder
idstring (uuid)The subscription's id.
eventstringThe event type it receives.
eventIdstring (uuid)The one event it listens to; every event when empty.
clientstringThe platform that made it: powerautomate, zapier or make.
activebooleanWhether it is sent anything.
createdUtcstring (date-time)When it was made, in UTC.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 notFound.
- 429 rateLimited.
Ablehnungen
invalidKey keyExpired keyRevoked rateLimited missingScope notFound
Anfrage
curl "https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d", {
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Get, "https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
$data = Invoke-RestMethod -Method Get -Uri "https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d" -Headers $headers401 invalidKey, keyExpired, keyRevoked.
{
"type": "https://attendbeacon.com/developers/errors#invalidKey",
"title": "No working API key",
"status": 401,
"detail": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key.",
"instance": "/api/v1/hooks/{hookId}",
"code": "invalidKey",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key."
}Unsubscribe Ändert Daten
DELETE/hooks/{hookId}
Removes an automation subscription, so nothing more is sent to its callback. A key removes its own as it may make them; another key's need webhooks:write.
- Scopes
- webhooks:write
Parameter
Pfad
hookIdstring (uuid)erforderlichThe subscription's id, from the Location header of the answer that made it.
Antworten
- 204 Removed.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 notFound.
- 429 rateLimited.
Ablehnungen
invalidKey keyExpired keyRevoked rateLimited missingScope notFound
Anfrage
curl -X DELETE "https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d", {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Delete, "https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();import os
import requests
response = requests.delete(
"https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
Invoke-RestMethod -Method Delete -Uri "https://attendbeacon.com/api/v1/hooks/5a7c9e1b-3d5f-4a6b-8c9d-0e1f2a3b4c5d" -Headers $headers401 invalidKey, keyExpired, keyRevoked.
{
"type": "https://attendbeacon.com/developers/errors#invalidKey",
"title": "No working API key",
"status": 401,
"detail": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key.",
"instance": "/api/v1/hooks/{hookId}",
"code": "invalidKey",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key."
}Die Anleitungen und diese Website sind in Ihrer Sprache. Die Beschreibungen in der API-Referenz selbst sind auf Englisch, so wie die API selbst spricht.