[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# ResDiary API and MCP server: Let your AI agent run the diary with you.

> ResDiary has no MCP server, and its APIs are for approved integrations (checked 31 Oct 2026). A venue or developer applies, states a purpose and passes certification, and the API licence then covers that purpose only. Cotlet runs 12 ResDiary tools hosted, in your own venue login, over MCP for agents and REST for scripts.

Bookings, open times, guest profiles and the W8LIST of your ResDiary venue. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.

[MCP setup](https://cotlet.dev/integrations/resdiary-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/resdiary-api-mcp-server.md#rest-api)

- Free 7-day trial, no card
- Unofficial, not affiliated with ResDiary
- Page: https://cotlet.dev/integrations/resdiary-api-mcp-server

## What can you automate in ResDiary?

- Brief the floor on tonight's bookings
- Keep allergies on guest profiles
- Find open times for a party
- Move a booking when the party changes
- Chase unconfirmed bookings
- Tag regulars with a customer type

## Does ResDiary have an MCP server or an API?

- ResDiary lists a Consumer API, a Data Extract API and an EPOS API, with webhooks for API accounts. Access is on "bespoke commercial terms" and starts at the help center page "Explore and request your ResDiary API".
- The API licence allows one agreed purpose and bans "distribute, publish, or allow access or linking to the APIs". A tool that hands API access to others does not fit it, which is why Cotlet works in your own login instead.
- We found no ResDiary app on Zapier, Make or n8n. A community MCP server on GitHub uses the public booking widget and cannot read your diary.

| What you need | Approved API | GitHub server | Cotlet |
|---|---|---|---|
| Read the bookings of a date | After approval | No | Yes |
| Find open times and book | After approval | As a guest | Yes, after your OK |
| Move or cancel a booking | After approval | Cancel as a guest | Yes, after your OK |
| Read guest profiles and notes | After approval | No | Yes |
| Add guest notes and customer types | Not in the docs | No | Yes |
| Allowed by ResDiary's terms | Yes, official | Public widget | Second login |

Checked 31 Oct 2026. Sources: [Access ResDiary API documentation](https://docs.hos.accessacloud.com/resdiary-api), [Explore and request your ResDiary API](https://help-resdiary.theaccessgroup.com/en/articles/16108724-explore-and-request-your-resdiary-api), [ResDiary API License Terms](https://resdiary.com/resdiary-api-license-terms), [ResDiary Terms of Service](https://resdiary.com/terms-of-service/)

## How does Cotlet connect to ResDiary?

1. **Sign in to ResDiary.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your ResDiary password, and no booking change reaches a guest until you approve it.

## Connect ResDiary to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Turn on ResDiary for agents.** Create a Cotlet account, sign in to ResDiary in its Cloud Browser with your venue login, then press Enable for agents.
2. **Add the Cotlet address.** Paste https://cotlet.dev/mcp/v1 into your agent as an MCP server or connector.
3. **Allow the connection.** Chat apps open a Cotlet sign-in. Code editors, n8n and scripts take an API key from the console.

The shared address `https://cotlet.dev/mcp/v1` carries ResDiary next to the other apps you enable. Turned ResDiary on after you connected? Refresh the connector and its tools appear.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-resdiary \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-resdiary": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-resdiary]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: resdiary_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: resdiary_write
```

## How to use the ResDiary REST API

### Create your Cotlet API key

Create a Cotlet API key with access to ResDiary and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

Connect ResDiary in Cotlet and enable it for agents. Account access: your own ResDiary venue login with access to the diary and the customer database. No ResDiary API key is needed, and Cotlet never reads guest contact details.

### Make your first ResDiary API request

REST:

```
curl "https://cotlet.dev/api/v1/resdiary/bookings?date=2026-10-31&status=Unconfirmed" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read the diary and apply the operation limits

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "resdiary",
  "tool": "list_bookings",
  "result": {
    "date": "2026-10-31",
    "bookings": [
      {
        "booking_id": "bk_21047",
        "reference": "BHCQ70M",
        "time": "19:15",
        "party_size": 4,
        "status": "Unconfirmed",
        "guest": "Sam Lee",
        "customer_id": "cu_9120",
        "booking_note": "Deposit due"
      }
    ]
  }
}
```

Returns the bookings your diary shows for that date in time order, with party size, status, guest and the booking note. Walk-ins have no `customer_id`.

`status` is optional. Leave it out to read every booking of the date, including cancelled ones.

The call has a `limit` input and no cursor. Read one date at a time and compare changed statuses and notes as well as booking IDs when you refresh.

Replace the date with the day you need. A Bumped booking is one staff still have to put back on a table.

### ResDiary workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Each morning, read the guest profile of every booking with `get_customer` and post the allergy notes to your team channel. |
| Make | HTTP > Make a request | Read the open times for a party of 4 with `list_available_times` and add the earliest to a shortlist your manager approves. |
| Python or Node.js | REST API | Read tomorrow's unconfirmed bookings with `list_bookings` and print a deposit chase list. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads ResDiary; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/resdiary-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## ResDiary API endpoints and MCP tools

### Diary and open times

Reads of your diary and the times your venue would offer. Nothing is held until a booking is created.

- **List bookings** (`list_bookings`, read): Read the bookings in your diary for one date, with party size, status and notes.
- **Get booking** (`get_booking`, read): Read one booking with its guest, notes and reminders.
- **List available times** (`list_available_times`, read): List the open times in your diary for a date and party size.
- **List W8LIST** (`list_waitlist`, read): Read the parties on your W8LIST for a date.

### Change bookings

Creating, moving and cancelling reach the guest, so each waits for your OK. A booking that needs a deposit stays Unconfirmed until the guest completes it.

- **Create booking** (`create_booking`, write, asks first): Add a booking to your diary for a guest.
- **Update booking** (`update_booking`, write, asks first): Change the time, party size or booking note of a booking.
- **Cancel booking** (`cancel_booking`, write, asks first): Cancel a booking in your diary.

### Guests and reminders

Profiles, customer notes, customer types and internal reminders. Only your staff see the notes, types and reminders.

- **Search customers** (`search_customers`, read): Find guest profiles in your customer database by name, email or mobile number.
- **Get customer** (`get_customer`, read): Read one guest profile: customer type, customer notes and booking history.
- **Add customer note** (`add_customer_note`, write): Add a customer note to a guest profile.
- **Set customer type** (`set_customer_type`, write): Set the customer type of a guest profile.
- **Add booking reminder** (`add_booking_reminder`, write): Add an internal reminder to a booking.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/resdiary-api-mcp-server#tools

## Who can see my ResDiary session, and how do I revoke it?

- **What we store.** Your signed-in ResDiary profile, AES-256-GCM encrypted, in Finland. No password.
- **What your agent gets.** The 12 ResDiary tools. Never the cookie itself.
- **What the session sees.** The diary, customer database and W8LIST your venue login can open.
- **What no tool touches.** Card details, deposits and refunds, billing, user management and your password.
- **If ResDiary asks for more.** A code or a security question is typed by you. We never do.
- **How to cut access.** Disable for agents, reset the browser, or change the password in ResDiary.

Make a ResDiary login for the agent if your venue allows more than one, and give it only the diary and customers. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). There is no SOC 2 report or third-party pentest yet.

## Is it against ResDiary's terms? Account safety

> Multiple logins from different devices or IP addresses with the same username and password are not permitted.
>
> [ResDiary Terms of Service, about the Services](https://resdiary.com/terms-of-service/)

Cotlet signs in from its own Cloud Browser, a different IP address than your venue's. That fits the clause badly, so the risk is yours. The terms do not name bots, scripts or AI agents for the venue login; the only bot clause is "Accounts registered by 'bots' or other automated methods are not permitted", and Cotlet registers no ResDiary account. The terms also say you answer for all use of your login by third parties you authorise, and that ResDiary may alter, suspend or terminate an account for a breach. We found no public case of a venue cut off for automation (checked 31 Oct 2026).

How we keep your account looking like you:

- Your own ResDiary login, signed in by you
- One Cloud Browser with its own IP and cookies, not a new device on every call
- Booking changes wait for your OK
- Reads once a day or on request, not a loop every minute
- If ResDiary objects, we pause the ResDiary tools for everyone within 24 h

> Ask your ResDiary contact whether a second login for an assistant is fine. Written yes beats our reading of the clause.

## What happens when ResDiary changes?

- **12 h** between tests of the ResDiary reads
- **$0** for a call to a ResDiary tool paused for repair

When ResDiary renames a field or moves a screen, we change the tool and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) checks the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Finds the times.** Reads the diary and the open times for the party.
2. **Shows you the change.** Guest, time, party size and note.
3. **Waits for your OK.** The change sits in your Cotlet console first.
4. **Reports the booking.** Reference, time, party size and status.

| Action | Undo |
|---|---|
| Add a customer note | Delete the note on the guest profile |
| Set a customer type | set_customer_type with the old type, one call |
| Add a booking reminder | Delete the reminder on the booking |
| Create or move a booking | update_booking or cancel_booking, after your OK |
| Cancel a booking | None by tool; create a new booking if the time is open |

3 of 12 tools ask first: create_booking, update_booking and cancel_booking. Each one changes what a guest holds. Reads, customer notes, customer types and reminders run at once, because only your staff see them and each is undone in one step. Switching the wait off is your choice, per tool.

> A booking that needs a deposit or a stored card stays Unconfirmed until the guest completes it. Cotlet never types card numbers.

MCP call:

```
{
  "name": "create_booking",
  "arguments": {
    "date": "2026-11-07",
    "time": "20:00",
    "party_size": 4,
    "first_name": "Chidi",
    "last_name": "Okafor",
    "mobile": "+447700900123",
    "booking_note": "Birthday dinner"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/resdiary/bookings \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"2026-11-07","time":"20:00","party_size":4,"first_name":"Chidi","last_name":"Okafor","mobile":"+447700900123","booking_note":"Birthday dinner"}'
```

Tool output:

```
{
  "booking_id": "bk_21107",
  "reference": "BHCQ81K",
  "date": "2026-11-07",
  "time": "20:00",
  "party_size": 4,
  "status": "Confirmed",
  "guest": "Chidi Okafor"
}
```

Scripts and cron jobs call the same tools over REST at `/api/v1/resdiary`, with the same key and price. A failed call costs nothing. Each tool in the list above shows its REST path.

## How much does the ResDiary MCP server cost?

**About $25 a month** for one venue with a daily floor briefing and a daily check of unconfirmed bookings, 4,240 credits. ResDiary itself is a separate subscription.

| Job | Calls | Credits |
|---|---|---|
| Brief the floor, daily | 3 × 30 | 900 |
| Copy allergies to guest notes, weekdays | 3 × 20 | 600 |
| Move a booking | 4 × 10 | 400 |
| Fill a gap in the diary | 3 × 8 | 240 |
| Chase unconfirmed bookings, daily | 2 × 30 | 600 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 4,240 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- Same price on every ResDiary plan

The month is our example: a daily floor briefing, guest notes on 20 weekdays, 10 moved bookings, 8 new bookings and a daily check of unconfirmed bookings. ResDiary publishes no figure for calls per venue, so the volume is our assumption. Your ResDiary plan is priced by bookings per month (resdiary.com/pricing) and is not part of this. Dollars at the $29 pack rate.

## ResDiary MCP server on GitHub, approved API or hosted: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [matuspavliscak/resdiary-mcp](https://github.com/matuspavliscak/resdiary-mcp) | MCP server on the public booking widget: check availability, book and cancel as a guest at any ResDiary venue. MIT, last commit 16 Mar 2026. | Personal project, no stars. Guest side only: no diary, guest notes or W8LIST. You run it on your computer. |
| [Thalvik/resdiary-api-client](https://github.com/Thalvik/resdiary-api-client) | PHP client for the ResDiary API. | Last commit 12 Apr 2018. Needs API credentials, which ResDiary gives by application. |
| ResDiary Consumer, Data Extract and EPOS APIs | Official: availability, bookings, customers and webhooks for approved integrations. | Needs an application, an agreed purpose and certification. The licence bans passing access to others. |
| ResPhone, ResDiary add-on | Takes bookings by phone when nobody picks up, £35 a month. | A phone line, not an agent that reads your diary or keeps guest notes. |

If you build a booking product for many venues, apply for the official API: it is the route ResDiary supports. Cotlet is for one venue or group whose manager wants an agent in the diary now, hosted, with approvals.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet, a software company registered in Poland, EU (VAT PL6342984273), working since 2019 and founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the ResDiary tools go to contact@cotlet.dev.

## ResDiary API and MCP: questions

### How do I get access?

Create a free account at https://cotlet.dev, open ResDiary under Integrations in the console and sign in to ResDiary in its Cloud Browser. The trial starts with your first app, no card asked.

### How do I connect ResDiary to ChatGPT or Claude?

Sign up at cotlet.dev, log in to ResDiary once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your ResDiary account through Cotlet, in their phone apps too.

### What can ChatGPT do in ResDiary?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in ResDiary: brief the floor on tonight\; copy allergies from booking notes to guest profiles; fill a gap in the diary. You ask in plain words, and anything that reaches other people waits for your OK first.

### Do I need ResDiary API access?

No. Cotlet works in your own venue login, so you do not apply for API access. ResDiary gives API access to approved integrations for one agreed purpose and forbids passing it on (ResDiary API License Terms, sections 2.1 and 4.1).

### Does ResDiary allow a second login on the same account?

ResDiary's Terms of Service say multiple logins from different devices or IP addresses with the same username and password are not permitted. Cotlet signs in from its own Cloud Browser, which is another IP address than your venue's, so use a login you could give up if ResDiary objects, and keep your own use of that login in mind.

### Which plan do I need?

ResDiary says its plans carry the same core features and differ in the number of bookings (resdiary.com/pricing). Cotlet works in the web login of any plan; add-ons such as SMS or Order & Pay change what your venue has, not what the tools read.

### Can it read my guests' phone numbers and emails?

No. search_customers takes a name, an email or a mobile number to find a profile, and no tool returns contact details.

### Is the MCP server different from the REST API?

Only the way in differs. Both carry the same 12 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with ResDiary?

No. Cotlet is independent and not affiliated with ResDiary or The Access Group.

### Can I use the ResDiary API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
