Dokumentacja API
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.
- Uprawnienia
- webhooks:read
Odpowiedzi
- 200 The subscriptions. HookList
Pola
dataHook[]The subscriptions.
Pokaż pola
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.
Odmowy
Żądanie
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 Zmienia dane
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.
- Uprawnienia
- webhooks:write
- Wyślij Idempotency-Key, aby ponowienia były bezpieczne. →
Parametry
nagłówek
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.
Treść NewHookWithType
The callback, the event type and optionally the event.
urlstringwymaganeThe https address to call with each event.
eventstringwymaganeThe event type to receive.
Jedno z:
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.
Odpowiedzi
- 201 Subscribed. Location names the subscription. Hook
Pola
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.
Odmowy
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound invalidRequest tooManyHooks idempotencyKeyInUse idempotencyKeyReused invalidIdempotencyKey
Żądanie
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 Zmienia dane
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.
- Uprawnienia
- webhooks:write
- Wyślij Idempotency-Key, aby ponowienia były bezpieczne. →
Parametry
ścieżka
eventTypestringwymaganeThe event type to receive.
Jedno z:
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
nagłówek
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.
Treść NewHook
Where to send what happens, and for which event.
urlstringwymaganeThe https address to call with each event.
eventIdstring (uuid)Only this event of the workspace; every event when empty.
Odpowiedzi
- 201 Subscribed. Location names the subscription. Hook
Pola
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.
Odmowy
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound invalidRequest tooManyHooks idempotencyKeyInUse idempotencyKeyReused invalidIdempotencyKey
Żądanie
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.
- Uprawnienia
- webhooks:read
Parametry
ścieżka
hookIdstring (uuid)wymaganeThe subscription's id, from the Location header of the answer that made it.
Odpowiedzi
- 200 The subscription. Hook
Pola
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.
Odmowy
invalidKey keyExpired keyRevoked rateLimited missingScope notFound
Żądanie
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 Zmienia dane
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.
- Uprawnienia
- webhooks:write
Parametry
ścieżka
hookIdstring (uuid)wymaganeThe subscription's id, from the Location header of the answer that made it.
Odpowiedzi
- 204 Removed.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 notFound.
- 429 rateLimited.
Odmowy
invalidKey keyExpired keyRevoked rateLimited missingScope notFound
Żądanie
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."
}Przewodniki i ta witryna są w twoim języku. Opisy w samej dokumentacji API są po angielsku, tak jak mówi samo API.