Authentication
Send your API key as a bearer token: Authorization: Bearer YOUR_API_KEY. Create, rotate, disable, or revoke keys in Settings, then API keys.
Presence API
The Presence API tells your scripts, dashboards, AI agents, and internal tools who is working and who is off for any date range. Available on every plan, including Free.
curl https://app.areuworking.com/api/v1/presence \
-H "Authorization: Bearer $AREUWORKING_API_KEY" \
-G \
-d "from=2026-06-01" \
-d "to=2026-06-07" What it does
The Presence API exposes a single endpoint: GET /api/v1/presence.
Pass a date range, get back who is in and who is out. Filter by team if you want.
No SDK required. Anything that can make an HTTP request can use it: internal scripts, Slack bots, dashboards, scheduling agents, support routers, and operations workflows.
Answers on tap
Examples
curl https://app.areuworking.com/api/v1/presence \
-H "Authorization: Bearer $AREUWORKING_API_KEY" \
-G \
-d "from=2026-06-01" \
-d "to=2026-06-07" const res = await fetch(
"https://app.areuworking.com/api/v1/presence?from=2026-06-01&to=2026-06-07",
{ headers: { Authorization: `Bearer ${process.env.AREUWORKING_API_KEY}` } }
);
const { in: working, out } = await res.json();
console.log(`${working.length} people working, ${out.length} off.`); import os
import requests
res = requests.get(
"https://app.areuworking.com/api/v1/presence",
headers={"Authorization": f"Bearer {os.environ['AREUWORKING_API_KEY']}"},
params={"from": "2026-06-01", "to": "2026-06-07"},
)
data = res.json()
print(f"{len(data['in'])} people working, {len(data['out'])} off.") {
"from": "2026-06-01",
"to": "2026-06-07",
"team_id": null,
"team_name": null,
"in": [
{
"id": "71d0e1f8-7d4c-44f4-8d21-59fb04c353d3",
"name": "Alex Chen",
"email": "alex@example.com",
"avatar": null,
"team_id": "1c5dcf5e-cc63-4b3b-8eec-c3b6e8fd2d5d",
"team_name": "Engineering",
"timezone": "Europe/Madrid"
}
],
"out": [
{
"id": "0465f18f-1c7d-48da-9838-77b0f86a7f92",
"name": "Sam Rivera",
"email": "sam@example.com",
"avatar": null,
"team_id": "6c2314cc-2e78-4f63-b019-f4a23e41cc0e",
"team_name": "Design",
"timezone": "Europe/London",
"leaves": [
{
"type": "holiday",
"start_date": "2026-06-03",
"end_date": "2026-06-07"
}
]
}
]
} Reference
| Parameter | Type | Details |
|---|---|---|
from | date | Start of the range, YYYY-MM-DD. Optional. |
to | date | End of the range, YYYY-MM-DD. Must be on or after from. The range cannot exceed 90 days. |
team_id | UUID | Optional. Filter results to a single team. |
Send your API key as a bearer token: Authorization: Bearer YOUR_API_KEY. Create, rotate, disable, or revoke keys in Settings, then API keys.
JSON with from, to, team_id, team_name, an in array of people working, and an out array where each person carries a leaves list with a type (holiday, sick, personal, bank_holiday) and dates.
401 when the API key is missing, invalid, disabled, or revoked. 422 when the date range is invalid or longer than 90 days.
Use cases
Auto-set Slack status to "Out today" for anyone on holiday or sick leave.
Pipe presence into Notion, Linear, or your homemade ops dashboard.
Give scheduling agents and support routers real availability context before they route work.
MCP server
Use the Presence API for raw availability data in software, scripts, dashboards, and integrations. Use the MCP server when an AI assistant needs to act through a connected user's permissions - checking availability, reading balances, listing requests, booking leave, or reviewing pending approvals.
Explore the MCP server ->Getting started
Free plan works. Create your areuworking account and finish setup.
Open Settings, then API keys, then create a key. Keys can be rotated, disabled, or revoked.
Copy the curl example above and call the Presence API.
Machine-readable
areuworking exposes a compact set of files so AI agents can understand the product, pricing, feature status, API, and MCP server without guessing.
Build with it