LeadArc Docsv1

Markdown for agents

This page as plain markdown, ready to paste into an LLM.

.md

Event types and slots

Bookable event types and their free slots.

event_types:readread bucketreturns list of event_type

Bookable event types

bash
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.

json
{
  "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.

event_types:readread bucketreturns event_type

One event type with hosts and form fields

bash
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.

event_types:readupstream bucketreturns availability

Free slots in a window

bash
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.

json
{
  "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."


Base URL https://api.leadarc.io/v1. Generated from the API source.