AstroCal
Guides

Quickstart

Book your first meeting in 5 minutes.

Get up and running with AstroCal in minutes. This guide walks you through creating an organization, defining an event type, and booking your first meeting.

Prerequisites

  • An AstroCal organization ID (create one via the API)
  • curl or any HTTP client

1. Create an Organization

curl -X POST http://localhost:3000/v1/organizations \
  -H "Content-Type: application/json" \
  -d '{"name": "My Company", "slug": "my-company"}'

Save the id from the response — you'll use it as your X-Org-Id header.

2. Create an Event Type

curl -X POST http://localhost:3000/v1/event_types \
  -H "Content-Type: application/json" \
  -H "X-Org-Id: YOUR_ORG_ID" \
  -d '{
    "name": "30 Minute Meeting",
    "slug": "30-min-meeting",
    "duration_minutes": 30,
    "timezone": "America/New_York"
  }'

3. Add Availability Rules

Define when this event type can be booked:

curl -X POST http://localhost:3000/v1/event_types/YOUR_EVENT_TYPE_ID/availability_rules \
  -H "Content-Type: application/json" \
  -H "X-Org-Id: YOUR_ORG_ID" \
  -d '{
    "day_of_week": 1,
    "start_time": "09:00",
    "end_time": "17:00"
  }'

Repeat for each day of the week you want to be available (0 = Sunday, 6 = Saturday).

4. Check Availability

curl "http://localhost:3000/v1/event_types/YOUR_EVENT_TYPE_ID/availability?start_date=2026-03-01&end_date=2026-03-07" \
  -H "X-Org-Id: YOUR_ORG_ID"

5. Create a Booking

curl -X POST http://localhost:3000/v1/bookings \
  -H "Content-Type: application/json" \
  -d '{
    "event_type_id": "YOUR_EVENT_TYPE_ID",
    "start_time": "2026-03-02T10:00:00Z",
    "invitee_name": "Jane Doe",
    "invitee_email": "jane@example.com",
    "invitee_timezone": "America/New_York"
  }'

Next Steps

On this page