# REST API

> Call any Cotlet endpoint over HTTPS: authentication, request and response format, pagination, confirmation, error codes and rate limits.

Source: https://cotlet.dev/docs/api

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Every action in every app is a POST endpoint that takes JSON and returns JSON. The same tools your agent sees over MCP, for your scripts.

## Introduction

All endpoints live under one base URL, `https://cotlet.dev/api/v1`, and follow one pattern: the app slug, then the endpoint name.

**Endpoint pattern**

```
POST https://cotlet.dev/api/v1/{app}/{endpoint}
```

Pick an app in the sidebar to see its endpoints, their inputs and an example response for each one.

## Authentication

Send your API key as a bearer token on every call. `X-API-Key` works too, for tools that cannot set an Authorization header.

**Headers**

```
Authorization: Bearer COTLET_API_KEY
Content-Type: application/json
```

## Making a call

The body is a JSON object with the endpoint inputs. Endpoints without inputs take an empty object or no body.

**Request**

```
curl -X POST https://cotlet.dev/api/v1/skool/list_members \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"group": "yourgroup", "role": "admin"}'
```

- Inputs are validated against the endpoint JSON Schema before anything runs.
- Unknown fields are rejected, so a typo never runs silently.
- `GET` with the inputs as query parameters works for read endpoints.

## Responses

A successful call returns `200` and the endpoint output as JSON, exactly as shown in its example response.

**Response 200**

```
{
  "members": [
    {
      "member_id": "m_8c41d2",
      "name": "Ana Lopez",
      "role": "member",
      "joined_at": "2026-10-01T18:21:00Z"
    }
  ],
  "next_cursor": "eyJvZmZzZXQiOjUwfQ"
}
```

| Header | Meaning |
|---|---|
| `X-Request-Id` | ID of the call. Quote it when you contact support. |
| `X-Credits-Used` | Credits this call used. Failed calls use none. |
| `Link` | Docs of the app, as `rel="describedby"`. |

## Pagination

List endpoints return up to `limit` items and a `next_cursor`. Pass it as `cursor` to get the next page; `null` means you have everything.

**Next page**

```
{"group": "yourgroup", "cursor": "eyJvZmZzZXQiOjUwfQ"}
```

## Confirmation

Endpoints marked Confirm reach other people: they publish, message or email. By default each call waits for your OK before it runs.

**Response 202**

```
{
  "status": "awaiting_confirmation",
  "call_id": "call_7f2a91",
  "confirm_url": "https://cotlet.dev/app/confirm/call_7f2a91"
}
```

Open the `confirm_url`, approve, and read the result with `GET /api/v1/calls/{call_id}`. To run on a schedule without you, switch confirmation off for that endpoint in your dashboard.

## Errors

Errors return JSON with an `error` code, a `message` written for your agent, and a link when you need to act.

**Response 403**

```
{
  "error": "access_not_granted",
  "message": "This API key has no access to Skool.",
  "request_access_url": "https://cotlet.dev/signup?app=skool",
  "docs_url": "https://cotlet.dev/integrations/skool-api-mcp-server"
}
```

| Status | Code | What happened | What to do |
|---|---|---|---|
| 400 | `invalid_input` | The body does not match the endpoint schema. | Fix the fields named in `details`. |
| 402 | `insufficient_credits` | Your credits ran out. | Wait for your next monthly credits or move to a bigger size in the dashboard. |
| 403 | `api_key_required` | No API key on the call. | Send `Authorization: Bearer`. |
| 403 | `access_not_granted` | The key has no access to this app. | Request access with the link in the error. |
| 404 | `unknown_app`, `unknown_endpoint` | No such app or endpoint. | The error lists the valid names. |
| 409 | `AUTH_REQUIRED` | The app is not connected yet. | Open the `connect_url` and sign in. |
| 409 | `AUTH_EXPIRED` | The app session expired or was revoked. | Open the `connect_url` and sign in again. |
| 409 | `CAPTCHA_REQUIRED`, `MFA_REQUIRED` | The app asked for a check only you can pass. | Finish it on the connect page. |
| 403 | `SCOPE_DENIED` | The action is outside what you allowed. | Widen access in the dashboard. |
| 429 | `rate_limited` | Too many requests. | Wait for `Retry-After` seconds. |
| 503 | `TARGET_BLOCKED` | The app blocked access; the endpoint is paused. | Try later. Credits are refunded. |

> We never sign in for you, solve a CAPTCHA or skip two-factor checks. When the app asks for one, the error carries a `connect_url` for you.

## Rate limits

| What | Limit |
|---|---|
| Calls to endpoints | 60 a minute per key |
| Listing apps, endpoints and schemas | 120 a minute per IP |
| MCP messages | 120 a minute per key |

Over the limit you get `429` with a `Retry-After` header. Apps have limits of their own; we pace calls so your account stays within them.

## Discovery

These endpoints need no key. Agents use them to find the right endpoint and its schema before the first call.

| Endpoint | Returns |
|---|---|
| `GET /api/v1/apps` | Every app with its endpoint count and links. |
| `GET /api/v1/{app}` | One app: what it is, how it connects, its endpoints. |
| `GET /api/v1/{app}/endpoints` | The endpoints of an app. |
| `GET /api/v1/{app}/endpoints/{endpoint}` | Full JSON Schema of the input and an example response. |

**List apps**

```
curl https://cotlet.dev/api/v1/apps
```

## Apps

- [Substack](https://cotlet.dev/docs/api/substack.md): 14 endpoints. Posts, Notes, subscribers and stats for your publication.
- [Skool](https://cotlet.dev/docs/api/skool.md): 15 endpoints. Posts, members and DMs for your Skool community.
- [Meetup](https://cotlet.dev/docs/api/meetup.md): 14 endpoints. Events, RSVPs and member messages without Meetup Pro.
- [GetYourGuide](https://cotlet.dev/docs/api/getyourguide.md): 11 endpoints. Availability, pricing and bookings for tour operators.
- [Medium](https://cotlet.dev/docs/api/medium.md): 13 endpoints. Publish, edit and track stats for your Medium posts.
- [Idealista](https://cotlet.dev/docs/api/idealista.md): 14 endpoints. Your listings and leads on Idealista, managed by an agent.
- [Riverside](https://cotlet.dev/docs/api/riverside.md): 12 endpoints. Studios, guest invites and recordings on Pro and Standard.
- [Udemy](https://cotlet.dev/docs/api/udemy.md): 11 endpoints. Coupons, course updates, announcements and revenue for instructors.
- [Crexi](https://cotlet.dev/docs/api/crexi.md): 13 endpoints. Leads, comps and listing analytics for commercial real estate.
- [Faire](https://cotlet.dev/docs/api/faire.md): 12 endpoints. Orders, inventory, reorders and messages for wholesale brands.
- [Partiful](https://cotlet.dev/docs/api/partiful.md): 13 endpoints. Invites, guest lists and text blasts for your events.
- [Booksy](https://cotlet.dev/docs/api/booksy.md): 13 endpoints. Bookings, client replies and reports for beauty businesses.
- [Wanderlog](https://cotlet.dev/docs/api/wanderlog.md): 14 endpoints. Build and edit trip itineraries from your agent.
- [Teachable](https://cotlet.dev/docs/api/teachable.md): 15 endpoints. Course content, coupons, emails and comments on any plan.
- [Vagaro](https://cotlet.dev/docs/api/vagaro.md): 15 endpoints. Bookings, waitlists and client replies across locations.
- [Buildertrend](https://cotlet.dev/docs/api/buildertrend.md): 12 endpoints. Schedules, daily logs, change orders and selections for builders.
- [Pirate Ship](https://cotlet.dev/docs/api/pirate-ship.md): 14 endpoints. Labels, rates and tracking for small shippers.
- [Zoopla](https://cotlet.dev/docs/api/zoopla.md): 12 endpoints. Listings, leads and performance stats for agents and landlords.
- [Dribbble](https://cotlet.dev/docs/api/dribbble.md): 11 endpoints. Messages, Pro analytics and engagement for designers.
- [Hostelworld](https://cotlet.dev/docs/api/hostelworld.md): 15 endpoints. Reviews, guest messages and reservations for hostel owners.
- [Mashvisor](https://cotlet.dev/docs/api/mashvisor.md): 14 endpoints. Saved searches, property analyses and exports from your account.
- [Rent Manager](https://cotlet.dev/docs/api/rent-manager.md): 12 endpoints. Charges, work orders and tenant messages for property managers.
- [Fresha](https://cotlet.dev/docs/api/fresha.md): 14 endpoints. Appointments, clients, sales and payouts for salons and spas.
- [ThriveCart](https://cotlet.dev/docs/api/thrivecart.md): 15 endpoints. Products, checkouts, refunds and affiliates for sellers.
- [REsimpli](https://cotlet.dev/docs/api/resimpli.md): 15 endpoints. Leads, deal stages and drip campaigns for real estate investors.
- [Workiz](https://cotlet.dev/docs/api/workiz.md): 15 endpoints. Jobs, scheduling, invoices and payments for field service.
- [Payhip](https://cotlet.dev/docs/api/payhip.md): 15 endpoints. Products, sales, customers, coupons and refunds for sellers.
- [Klook](https://cotlet.dev/docs/api/klook.md): 10 endpoints. Search and book activities from your agent.
- [Dubsado](https://cotlet.dev/docs/api/dubsado.md): 14 endpoints. Projects, proposals, contracts and invoices for creative businesses.
- [DoorLoop](https://cotlet.dev/docs/api/doorloop.md): 14 endpoints. Tenants, leases, rent charges and payments for landlords.
- [Uscreen](https://cotlet.dev/docs/api/uscreen.md): 15 endpoints. Videos, collections, live events and analytics for creators.
- [Systeme.io](https://cotlet.dev/docs/api/systeme-io.md): 13 endpoints. Funnels, email campaigns and sales reports for marketers.
- [GlossGenius](https://cotlet.dev/docs/api/glossgenius.md): 14 endpoints. Appointments, clients and sales for salon owners.
- [Omio](https://cotlet.dev/docs/api/omio.md): 10 endpoints. Book and change train, bus and flight tickets.
- [Polarsteps](https://cotlet.dev/docs/api/polarsteps.md): 14 endpoints. Export and import trips and steps.
- [Hipcamp](https://cotlet.dev/docs/api/hipcamp.md): 15 endpoints. Calendar, pricing and guest messages for hosts.
- [SoundCloud](https://cotlet.dev/docs/api/soundcloud.md): 14 endpoints. Tracks, playlists, comments and stats for your SoundCloud profile.
- [Bandsintown](https://cotlet.dev/docs/api/bandsintown.md): 11 endpoints. Tour dates, fan messages and stats for your Bandsintown artist page.
- [Patreon](https://cotlet.dev/docs/api/patreon.md): 13 endpoints. Posts, patron messages and members for your Patreon page.
- [Bandcamp](https://cotlet.dev/docs/api/bandcamp.md): 13 endpoints. Sales, merch orders, releases and fan messages for your Bandcamp page.
- [Nextdoor](https://cotlet.dev/docs/api/nextdoor.md): 13 endpoints. Posts, comments and recommendations for your Nextdoor business page.
- [AccuLynx](https://cotlet.dev/docs/api/acculynx.md): 14 endpoints. Jobs, contacts, photos and estimates in your AccuLynx account.
- [Kiwi.com](https://cotlet.dev/docs/api/kiwi-com.md): 13 endpoints. Bookings, trips and refunds on your Kiwi.com account.
- [Thumbtack](https://cotlet.dev/docs/api/thumbtack.md): 12 endpoints. Leads, messages, quotes and reviews for your Thumbtack pro profile.
- [Trainerize](https://cotlet.dev/docs/api/trainerize.md): 14 endpoints. Clients, programs, check-ins and messages for your Trainerize business.
- [Quora](https://cotlet.dev/docs/api/quora.md): 11 endpoints. Answers, questions and Spaces from your Quora account.
- [Everfit](https://cotlet.dev/docs/api/everfit.md): 15 endpoints. Clients, programs and messages for your Everfit coaching business.
- [Milanote](https://cotlet.dev/docs/api/milanote.md): 11 endpoints. Boards, notes and links in your Milanote workspace.
- [PeoplePerHour](https://cotlet.dev/docs/api/peopleperhour.md): 11 endpoints. Projects, proposals and messages on your PeoplePerHour account.
- [Setmore](https://cotlet.dev/docs/api/setmore.md): 15 endpoints. Bookings, customers and staff calendars in your Setmore account.
- [Pixieset](https://cotlet.dev/docs/api/pixieset.md): 13 endpoints. Galleries, clients, invoices and bookings in your Pixieset studio.
- [Service Fusion](https://cotlet.dev/docs/api/service-fusion.md): 15 endpoints. Jobs, customers, estimates and invoices in your Service Fusion account.
- [Mangomint](https://cotlet.dev/docs/api/mangomint.md): 13 endpoints. Appointments, clients and sales for your Mangomint salon or spa.
- [PushPress](https://cotlet.dev/docs/api/pushpress.md): 14 endpoints. Members, classes, reservations and check-ins for your PushPress gym.
- [SiteMinder](https://cotlet.dev/docs/api/siteminder.md): 12 endpoints. Rates, availability and reservations in your SiteMinder channel manager.
- [Momence](https://cotlet.dev/docs/api/momence.md): 14 endpoints. Classes, bookings and members for your Momence studio.
- [SuiteDash](https://cotlet.dev/docs/api/suitedash.md): 14 endpoints. Clients, projects, invoices and tasks in your SuiteDash portal.
- [Tradify](https://cotlet.dev/docs/api/tradify.md): 15 endpoints. Jobs, quotes, invoices and schedule in Tradify.
- [Mariana Tek](https://cotlet.dev/docs/api/mariana-tek.md): 15 endpoints. Classes, reservations and customers for your Mariana Tek studio.
- [Peerspace](https://cotlet.dev/docs/api/peerspace.md): 15 endpoints. Inquiries, bookings and listings for your Peerspace venue.
- [Meevo](https://cotlet.dev/docs/api/meevo.md): 14 endpoints. Appointments, clients and memberships in your Meevo salon.
- [Knowify](https://cotlet.dev/docs/api/knowify.md): 15 endpoints. Jobs, bids, invoices and job costing in Knowify.
- [MarketSharp](https://cotlet.dev/docs/api/marketsharp.md): 14 endpoints. Leads, appointments and jobs in your MarketSharp contractor CRM.
- [DaySmart](https://cotlet.dev/docs/api/daysmart.md): 15 endpoints. Appointments, clients, pets and sales in DaySmart Salon or Pet.
- [Libsyn](https://cotlet.dev/docs/api/libsyn.md): 14 endpoints. Episodes, scheduling and stats for your Libsyn podcast.
- [Tiqets](https://cotlet.dev/docs/api/tiqets.md): 9 endpoints. Book, fetch and cancel attraction tickets on your Tiqets account.
- [ClockShark](https://cotlet.dev/docs/api/clockshark.md): 15 endpoints. Timesheets, schedules and jobs in your ClockShark account.
- [Rently](https://cotlet.dev/docs/api/rently.md): 14 endpoints. Tours, prospects and listings in your Rently self-touring account.
- [Houzz Pro](https://cotlet.dev/docs/api/houzz-pro.md): 14 endpoints. Leads, projects, estimates and invoices in Houzz Pro.
- [Perfect Venue](https://cotlet.dev/docs/api/perfect-venue.md): 14 endpoints. Events, leads, proposals and payments for your Perfect Venue venue.
- [Zola](https://cotlet.dev/docs/api/zola.md): 10 endpoints. Guest list, RSVPs and registry for your Zola wedding.
- [Little Hotelier](https://cotlet.dev/docs/api/little-hotelier.md): 15 endpoints. Bookings, rates and availability for your Little Hotelier property.
- [TrueCoach](https://cotlet.dev/docs/api/truecoach.md): 15 endpoints. Workouts, programs and client messages for your TrueCoach roster.
- [DICE](https://cotlet.dev/docs/api/dice.md): 15 endpoints. Events, ticket tiers, sales and guest lists for DICE promoters.
- [Contractor Foreman](https://cotlet.dev/docs/api/contractor-foreman.md): 15 endpoints. Projects, estimates, daily logs and invoices in Contractor Foreman.
- [Hemnet](https://cotlet.dev/docs/api/hemnet.md): 13 endpoints. Listings, sold prices, saved homes and searches for Hemnet buyers.
- [Property Finder](https://cotlet.dev/docs/api/property-finder.md): 11 endpoints. Listings, leads and credits in your Property Finder broker account.
- [Zen Planner](https://cotlet.dev/docs/api/zen-planner.md): 14 endpoints. Members, classes, attendance and billing in Zen Planner.
- [Service Autopilot](https://cotlet.dev/docs/api/service-autopilot.md): 14 endpoints. Jobs, schedules, estimates and invoices in Service Autopilot.
- [ZenMaid](https://cotlet.dev/docs/api/zenmaid.md): 13 endpoints. Appointments, cleaners and customers for your ZenMaid business.
- [Airalo](https://cotlet.dev/docs/api/airalo.md): 13 endpoints. Buy, top up and track eSIMs on your Airalo account.
- [Whova](https://cotlet.dev/docs/api/whova.md): 11 endpoints. Agenda, attendees and announcements for your Whova event.
- [SignUpGenius](https://cotlet.dev/docs/api/signupgenius.md): 15 endpoints. Create sign-ups, manage slots and message participants on SignUpGenius.
- [Bayut](https://cotlet.dev/docs/api/bayut.md): 13 endpoints. Listings, leads and performance for Bayut agents.
- [Paperless Post](https://cotlet.dev/docs/api/paperless-post.md): 11 endpoints. Guest lists, RSVPs and messages for Paperless Post events.
- [Immobiliare.it](https://cotlet.dev/docs/api/immobiliare.md): 12 endpoints. Your listings, messages and visit requests on Immobiliare.it.
- [Evite](https://cotlet.dev/docs/api/evite.md): 13 endpoints. Events, guest lists, RSVPs and messages on Evite.
- [Beautiful.ai](https://cotlet.dev/docs/api/beautiful-ai.md): 14 endpoints. Create, edit, duplicate and export Beautiful.ai decks from your agent.
- [Yardbook](https://cotlet.dev/docs/api/yardbook.md): 14 endpoints. Customers, jobs, schedules and invoices in Yardbook for landscapers.
- [Joist](https://cotlet.dev/docs/api/joist.md): 13 endpoints. Estimates, invoices, clients and payments in Joist for contractors.
- [Thryv](https://cotlet.dev/docs/api/thryv.md): 14 endpoints. Clients, appointments, invoices and messages in Thryv.
- [Civitatis](https://cotlet.dev/docs/api/civitatis.md): 13 endpoints. Bookings, availability and tours for Civitatis activity suppliers.
- [Joy](https://cotlet.dev/docs/api/joy.md): 15 endpoints. Guest list, RSVPs and registry for your Joy wedding.
- [Kickserv](https://cotlet.dev/docs/api/kickserv.md): 15 endpoints. Jobs, customers, estimates and invoices in Kickserv.
- [Bark](https://cotlet.dev/docs/api/bark.md): 14 endpoints. Leads, responses and credits for Bark professionals.
- [BookingKoala](https://cotlet.dev/docs/api/bookingkoala.md): 15 endpoints. Bookings, providers and customers in your BookingKoala store.
- [Teachers Pay Teachers](https://cotlet.dev/docs/api/teachers-pay-teachers.md): 14 endpoints. Products, prices and sales reports for TPT sellers.
