Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dev.1st.app/llms.txt

Use this file to discover all available pages before exploring further.

This is the headline page. The 1st API is designed for an analyst or ops lead, not a backend developer. Your superpower is the AI tool sitting next to you — Claude, ChatGPT, Cursor, Windsurf. Give it the right context and it writes your integration.

The universal prefix

Every prompt below starts with this line — paste the full docs into the AI once per conversation:
Read https://docs.1st.app/llms-full.txt — that's the complete reference
for the 1st sensor platform API. I'll then describe what I want to build.
The AI fetches the docs, holds them in context, and writes correct code on the first try.

1. Google Sheets: last night’s CO2

Read https://docs.1st.app/llms-full.txt.

Now write a Google Apps Script that, every morning at 6 AM, fetches last
night's CO2 readings for every sensor on my team and writes them to a
sheet called "CO2 nightly". One row per sensor per 5-minute bucket. The
script reads the API key from PropertiesService (ST_API_KEY) — the key
already scopes the team, no team_id needed.

Include error handling — log each error `code` by name so I can debug.

2. Glide app: 7-day room conditions

Read https://docs.1st.app/llms-full.txt.

I'm building a Glide app for my coaching staff. They want to see room
conditions over the past 7 days, with a graph per room.

Generate (a) a Google Sheet schema (columns + sample row) populated by a
cron job that pulls /sensors and /readings, (b) the Apps Script code for
the cron, and (c) instructions for wiring the sheet into a Glide app with
one screen per room and a 7-day line chart of CO2.

3. Airtable: rooms above 1000 ppm CO2

Read https://docs.1st.app/llms-full.txt.

I have an Airtable base where each row is a player room. Help me add an
Automation that runs every hour, pulls the latest CO2 reading for each
room from the 1st API, and flags the row red if CO2 > 1000 ppm for the
last 15 minutes.

Use the Airtable Scripting block. The API key is in `ST_API_KEY` secret
config (no team_id needed — the key scopes the team).

4. Make.com / Zapier: sensor-offline email

Read https://docs.1st.app/llms-full.txt.

In Make.com, build a scenario that runs every 10 minutes, calls GET
/v1/sensors, filters to sensors with status != "online", and emails
the [email protected] address listing each offline sensor by
display_name.

Use the HTTP module with Bearer auth from a Make data store. Provide the
exact Make.com module config screenshots... wait, just describe each
module step-by-step, since you can't actually screenshot.

5. Bubble: fleet dashboard

Read https://docs.1st.app/llms-full.txt.

I'm building a Bubble.io dashboard for our Director of Performance. The
landing page shows a card per room with current CO2, temp, humidity. The
detail page shows a 7-day chart for that room with drill-down to 24h.

(a) List the Bubble API Connector setup I need (endpoints to register,
auth headers, data types). (b) For the landing page, show what
expressions / workflow conditions populate the cards from the API. (c) For
the detail page, show the chart-data expression for the 7-day pull.

Why this works

Three properties make the 1st API extra-friendly to AI codegen:
  1. The OpenAPI spec is the SDK. Every endpoint description tells the AI when to use it and when not to. Every field has a plain-English description and a realistic example.
  2. Error messages contain the fix inline. When the AI’s first attempt hits a 400, the response body tells it exactly how to fix the request — no doc round-trip needed.
  3. Everything is in one llms-full.txt file. Under 80k tokens, fits in any modern AI context window. No “I need to read more docs” loop.

When the AI gets stuck

  • Ask it to re-read https://docs.1st.app/llms-full.txt from scratch in a fresh conversation.
  • Show it the exact 4xx response body — the message field is the fix.
  • Ask for one part of the integration at a time, not the whole thing in one prompt.