Markdown for agents
This page as plain markdown, ready to paste into an LLM.
Event types and slots
Bookable event types and their free slots.
Bookable event types
curl -sS https://api.leadarc.io/v1/workspaces/airpay/event_types?limit=25 \
-H "Authorization: Bearer $LEADARC_API_KEY"Query parameters. Anything else is 400 unsupported_filter.
limit cursor order active public
starting_after also works here, but prefer cursor.
Errors from this endpoint, on top of the common ones: invalid_cursor, invalid_request, unsupported_filter.
{
"object": "list",
"data": [{
"object": "event_type",
"id": "evt_Wu3ZomyygPicrgjIS8BCvQCFto8fHiIno2TeJH",
"workspace": "airpay",
"name": "Intro call",
"slug": "airpay-intro",
"description": "<p>30 minutes to see whether we fit.</p>",
"event_name_template": "{workspace} <> {name}",
"duration_minutes": 30,
"buffer_before_minutes": 0,
"buffer_after_minutes": 10,
"scheduling_type": "round_robin",
"public": true,
"public_url": "https://inbox.outboundleads.io/book/airpay-intro",
"public_booking_window_days": 45,
"minimum_notice_minutes": 240,
"business_emails_only": true,
"redirect_url": null,
"workspace_wide": true,
"active": true,
"requires_confirmation": false,
"location": { "type": "google_meet", "phone": null, "description": null },
"order_index": 0,
"use_event_type_availability": false,
"default_field_config": {
"first_name": { "included": true, "required": true },
"last_name": { "included": true, "required": false },
"company": { "included": true, "required": true },
"email": { "included": true, "required": true },
"phone": { "included": true, "required": false }
},
"booking_provider": "native",
"created_by_id": "usr_zaDRRpdu8EPZSU3i89lvZgKPkVQo4uBFA_KOhm",
"created_at": "2026-07-01T09:00:00Z",
"updated_at": "2026-07-24T11:05:00Z"
}],
"has_more": false,
"next_cursor": null
}default_field_config returns {} in the database when the built-in defaults apply. The API resolves it through resolveDefaultFieldConfig in the app and always returns the concrete map, so a caller never has to know the empty-object convention.
external_id and exclude_from_insights are withheld. external_id is a provider-side event-type id paired with the workspace's connector credential.
One event type with hosts and form fields
curl -sS https://api.leadarc.io/v1/workspaces/airpay/event_types/evt_Wu3ZomyygPicrgjIS8BCvQCFto8fHiIno2TeJH \
-H "Authorization: Bearer $LEADARC_API_KEY"Errors from this endpoint, on top of the common ones: invalid_request, not_found.
event_type_email_settings is not returned. Its subject and body templates are internal copy, and host_notify_user_ids is an internal routing list.
Free slots in a window
curl -sS https://api.leadarc.io/v1/workspaces/airpay/event_types/evt_Wu3ZomyygPicrgjIS8BCvQCFto8fHiIno2TeJH/slots?limit=25 \
-H "Authorization: Bearer $LEADARC_API_KEY"Query parameters. Anything else is 400 unsupported_filter.
from to timezone
Errors from this endpoint, on top of the common ones: invalid_request, not_found, unsupported_filter, upstream_error.
{
"object": "availability",
"event_type_id": "evt_Wu3ZomyygPicrgjIS8BCvQCFto8fHiIno2TeJH",
"duration_minutes": 30,
"timezone": "America/New_York",
"window": { "from": "2026-07-28T00:00:00Z", "to": "2026-08-04T00:00:00Z" },
"slots": [
{ "object": "slot", "start": "2026-07-30T14:00:00Z", "end": "2026-07-30T14:30:00Z" },
{ "object": "slot", "start": "2026-07-30T15:00:00Z", "end": "2026-07-30T15:30:00Z" }
],
"reason": null
}A slot carries a start and an end and nothing else. No host identity, deliberately, so a caller cannot enumerate who is free when. reason is a short string when the list is empty and there is a knowable cause ("outside_booking_window", "no_active_hosts", "no_calendar_connected").
The window is clamped server-side against the event type's public_booking_window_days and minimum_notice_minutes, independently of anything the caller sends. That is the same pattern the app uses, and its comment says why: "the client clamps too, but never trust it."