Getting Started
Making your first API request
This page walks you through the complete setup process for 1cal — from creating your account to seeing all your events in one place. By the end, you will have signed in, connected at least one event platform, and subscribed to your personal merged calendar feed so your favourite calendar app stays up to date automatically. No technical experience is required; every step is done through the 1cal interface.
Before you begin, make sure you have the following:
- A Google account (used to sign in — no separate password needed to get started)
- Access to at least one supported sports platform: GameChanger, TeamSnap, SportsEngine, or any platform that provides an ICS feed URL
- The ICS feed URL from that platform (see Step 2 in the Connect a platform section below for how to find it)
- A calendar app you already use, such as Apple Calendar, Google Calendar, or Outlook, if you want to subscribe to your merged feed
Follow these four steps to go from zero to a working unified calendar:
- Sign in — go to https://1cal.app and tap Continue with Google.
- Add a child profile — in Settings, enter a name under Children and tap Add child.
- Connect a platform — on the child's card, tap Add sports platform, paste your ICS feed URL, and tap Add platform.
- Subscribe to your feed — copy the URL from Settings → Your Merged Feed and add it to your calendar app.
Your events will appear within a few seconds of completing step 3.
Step 1 — Sign in to 1cal
- Open https://1cal.app in your browser. You are redirected to the login page automatically.
- Tap Continue with Google.
- Choose your Google account and grant the requested permissions (email and profile only).
- You are taken to the Home screen. On your first visit, 1cal creates a new account linked to your Google identity.
Success: You can see the Home screen and the navigation bar.
Step 2 — Add a child profile
Each set of events in 1cal is organised under a child profile. You need at least one before connecting a platform.
- Tap the Settings icon (gear icon in the top bar).
- Under Children, enter the child's name and choose a colour.
- Tap Add child.
Success: The child's card appears in Settings.
Step 3 — Find your platform's ICS feed URL
Before adding a platform in 1cal, locate the ICS URL on the platform itself:
- GameChanger: Open the team's Schedule page → tap the calendar/export icon → Export to calendar → copy the ICS URL.
- TeamSnap: Go to your team → Schedule → tap Export or the calendar icon → copy the "Subscribe" URL. Replace
webcal://withhttps://before pasting it into 1cal. - SportsEngine: Go to your league or team page → Schedule → find the iCal / ICS export link (usually in the sidebar).
- Any other platform: Any URL ending in
.icsor providing a standard iCalendar feed works.
Success: You have a URL that, when pasted into a browser, downloads a .ics file.
Step 4 — Connect the platform in 1cal
- In Settings, find the child's card and tap Add sports platform.
- Fill in the form:
- Platform — select from the dropdown, or choose "Other".
- Sport — for example, Baseball or Soccer.
- ICS Calendar URL — paste the URL you copied in Step 3.
- RSVP URL (optional) — the team page where you normally RSVP; used as a fallback if automated sync is unavailable.
- Tap Add platform.
1cal syncs the feed immediately.
Success: Events appear in the Calendar tab within a few seconds. The platform card in Settings shows a Synced status.
Step 5 — Subscribe to your merged calendar feed
Your merged feed URL lets your existing calendar app display all 1cal events automatically.
- Go to Settings → Your Merged Feed and copy the feed URL.
- Open your calendar app and subscribe:
- Apple Calendar: File → New Calendar Subscription → paste the URL → Subscribe → set auto-refresh to Every hour or Every day.
- Google Calendar: Click + next to "Other calendars" → From URL → paste the URL → Add calendar.
- Outlook or other apps: Use the "Subscribe via URL" or "Add internet calendar" option and paste the same URL.
Success: Your events from 1cal appear inside your calendar app. The feed updates automatically — 1cal re-syncs platform feeds every 30 minutes in the background.
Example 1 — Your merged feed URL
After completing setup, your feed URL looks like this:
https://1cal.app/api/feed/clm3abc123xyz.ics
The long string (clm3abc123xyz) is your unique user ID. Treat this URL as sensitive — anyone with it can read your calendar. You find it in Settings → Your Merged Feed.
Example 2 — What the feed looks like to your calendar app
When your calendar app fetches the feed, it receives a standard iCalendar file. Here is a trimmed example of what one event looks like inside that file:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//1Cal//Family Sports Calendar//EN
X-WR-CALNAME:1Cal Family Schedule
BEGIN:VEVENT
UID:1cal-abc987@1cal
DTSTART:20240915T130000Z
DTEND:20240915T150000Z
SUMMARY:Saturday Game (Alex)
LOCATION:Riverside Park Field 3
DESCRIPTION:Baseball · GameChanger · Alex
CATEGORIES:Baseball
END:VEVENT
END:VCALENDAR
Your calendar app reads this file and displays the event like any other — with the title, time, and location filled in automatically.
Example 3 — Filtering the feed by child or sport
If you want a feed that contains only one child's events, or only one sport, you can add query parameters to the feed URL:
# Only events for a specific child
https://1cal.app/api/feed/clm3abc123xyz.ics?child=<childId>
# Only soccer events
https://1cal.app/api/feed/clm3abc123xyz.ics?sport=Soccer
You can find the childId value in your browser's address bar when viewing that child's settings. This is useful if you want to share a single sport's schedule with a co-parent or coach without exposing your full calendar.
"Sign in failed" when tapping Continue with Google
Symptom: The Google sign-in flow does not complete or shows an error.
Likely cause: Your browser is blocking the redirect, or pop-ups are disabled.
Fix: Try opening 1cal in a private/incognito window. If that works, check your browser's pop-up and redirect settings for 1cal.app.
Events do not appear after adding a platform
Symptom: You added a platform successfully, but the Calendar tab is empty or missing those events.
Likely cause: The ICS URL is incorrect, is not publicly accessible, or requires a login to access.
Fix:
- Paste the ICS URL directly into your browser's address bar. It should download a
.icsfile without asking you to log in. If it does not, the URL is wrong or requires authentication — go back to your platform and re-export it. - Check the platform's card in Settings. An Error badge means the last sync failed.
- Open the Calendar tab and pull down to trigger a manual sync.
Events are outdated or missing after they were updated on the platform
Symptom: An event's time or details changed on GameChanger (or another platform), but the old information still shows in 1cal.
Likely cause: The background sync has not run yet, or the platform's ICS feed URL has changed for a new season.
Fix:
- Pull down on the Calendar screen to force an immediate sync.
- If the problem persists, your platform may have rotated its ICS URL (common at the start of a new season). Go back to the platform, copy the new URL, and update it in Settings → child → platform → Edit.
Events from 1cal are not showing in Google Calendar
Symptom: You subscribed in Google Calendar, but new or changed events are not appearing.
Likely cause: Google Calendar caches external ICS feeds aggressively — updates can take up to 24 hours to appear.
Fix: This is a known Google Calendar limitation and cannot be changed from within 1cal. If you need near-real-time updates, Apple Calendar with a 1-hour refresh interval is a more responsive option.
Duplicate events in the calendar
Symptom: The same game or event appears twice.
Likely cause: The same event was imported from two different feed URLs for the same platform.
Fix: Go to Settings, find the child's card, and check whether the same platform has been added more than once. Remove the duplicate entry.