canonical: https://jentic.com/apis/letmc.com/letmc-diary

# Letmc agentOS API V3, Diary Call Group

Jentic publishes the only available OpenAPI specification for agentOS API V3, Diary Call Group, keeping it validated and agent-ready. The agentOS Diary API is a lettings-and-property-management appointment platform: agents can read available diary allocations for the next seven days, create and update appointments, cancel and delete them, submit feedback, list recurring appointments, look up branches for a company, and search guest applicants by parameter. It is purpose-built for letting agents booking viewings rather than a generic calendar.

## For AI agents

Read diary allocations, book and update viewing appointments, manage recurring appointments, and search applicants for the agentOS lettings platform.

## Scope

Does not handle property listings, tenancy contracts, or rent collection - use for diary allocations, viewing appointments, and applicant search only.

## Capabilities

- Read available diary allocations for the next seven days for a given short-name tenant
- Create, update, and delete a viewing or valuation appointment in a valid diary allocation
- Cancel an existing appointment by ID and capture a cancellation reason
- Submit feedback against a completed appointment for the agent or guest record
- List a company's branches and a specific branch by Object ID for routing
- Search applicants by guest parameters to match the right person to a viewing

## Use cases

### Property Viewing Booking Bot

Let prospective tenants book a viewing without phoning the branch. The agent reads /allocations to find open slots, posts the appointment via /appointment, and returns the confirmation. Replaces the back-and-forth voicemail loop and frees branch staff for higher-value calls.

Example prompt: GET /v3/diary/{shortName}/allocations for the next 7 days, then POST /v3/diary/{shortName}/appointment with the chosen slot and the applicant details.

### Cancellation and Reschedule Workflow

Handle reschedule requests cleanly. The agent looks up the appointment via GET /appointment, cancels it via PATCH /appointment/{appointmentID}/cancel with a reason, then books the new slot with POST /appointment. Keeps the diary tidy and avoids the silent no-shows that come from leaving stale appointments on the calendar.

Example prompt: GET the existing appointment, PATCH /appointment/{appointmentID}/cancel with the reason, then POST /appointment with the new slot.

### Post-Viewing Feedback Capture

Capture viewer feedback right after a viewing while it is fresh. The agent listens for completed-appointment events, posts a /appointment/feedback record, and surfaces sentiment back into the lettings CRM. Replaces the end-of-day spreadsheet that branch managers usually reconcile by hand.

Example prompt: POST /v3/diary/{shortName}/appointment/feedback with the appointmentId and the feedback payload after the appointment end time.

### Branch Routing for a Multi-Site Agency

Route incoming booking requests to the right branch. The agent reads /company/branches to list active branches, picks the closest by postcode, and books the appointment under that branch's diary. Useful for agencies operating across multiple towns where a single booking line drops calls into the wrong branch today.

Example prompt: GET /v3/diary/{shortName}/company/branches, pick the branch by postcode proximity, then POST /v3/diary/{shortName}/appointment under that branchId.

### AI Agent Lettings Assistant via Jentic

An AI agent built on Jentic talks to applicants in chat: it finds open slots, books the viewing, sends a confirmation, and submits feedback after. Jentic isolates the API key and basic-auth credentials so the agent never holds them between turns and surfaces the right operation by intent rather than path.

Example prompt: Through Jentic, search 'book agentos viewing', execute /allocations, then POST /appointment with the chosen slot and applicant details.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v3/diary/{shortName}/allocations | Get available diary allocations for the next 7 days |
| POST | /v3/diary/{shortName}/appointment | Book an appointment in a valid allocation |
| PUT | /v3/diary/{shortName}/appointment | Update an existing appointment |
| DELETE | /v3/diary/{shortName}/appointment | Delete an existing appointment |
| PATCH | /v3/diary/{shortName}/appointment/{appointmentID}/cancel | Cancel an existing appointment |
| POST | /v3/diary/{shortName}/appointment/feedback | Submit appointment feedback |
| GET | /v3/diary/{shortName}/company/branches | List branches for the company |
| GET | /v3/diary/{shortname}/{branchID}/guest/search | Search applicants by guest parameters |

## Key resources

- **Allocations** — Available diary slots over a rolling seven-day window
- **Appointments** — Create, read, update, delete, and cancel diary appointments
- **Recurring Appointments** — Recurring appointment listing for the diary
- **Appointment Types** — List of configured diary appointment types
- **Branches** — Company branches for routing appointments correctly
- **Guest Search** — Match incoming guest parameters against existing applicants

## Why Jentic

- **Setup:** Wiring the agentOS Diary API by hand means combining its ApiKey header with basic-auth credentials, targeting the live-api.letmc.com host, and threading the diary short-name paths yourself. Through Jentic you install once, import the agentOS Diary API from the API Directory, store the API key and credentials once, and your agent calls it.
- **Permission scoping:** The Diary API puts the diary short name in the URL path (/v3/diary/{shortName}/...), so a rule can pin your agent to one diary: it can read allocations and book appointments there and nothing else. You choose the operations it may call, so cancelling or deleting an appointment is included only if you add it.
- **Credential handling:** Your agentOS API key and basic-auth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'book an agentOS viewing' or 'cancel an appointment', and Jentic returns the matching Diary operation with its input schema, including the short-name and appointment path parameters, so the agent calls the right endpoint without parsing the paths by hand.

## Related APIs

- **Calendly API** — Calendly is a generic scheduling API that handles availability and bookings.
- **Acuity Scheduling API** — Acuity Scheduling provides hosted appointment booking with calendars and forms.
- **Typeform API** — Typeform captures the applicant interest form before agentOS books the viewing slot.

## FAQ

### Why is there no official OpenAPI spec for agentOS API V3, Diary Call Group?

letmc.com does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call agentOS API V3, Diary Call Group via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the agentOS Diary API use?

The Diary API supports two schemes: an API key in the `ApiKey` header and HTTP basic authentication. Through Jentic, both forms live encrypted in the credential vault and are applied to outgoing requests at execution time so they never enter the agent's prompt.

### Can I book and cancel viewing appointments through the API?

Yes. POST /v3/diary/{shortName}/appointment books an appointment in a valid diary allocation, PUT updates an existing appointment, DELETE removes one outright, and PATCH /v3/diary/{shortName}/appointment/{appointmentID}/cancel cancels with a reason.

### What are the rate limits for the agentOS Diary API?

Rate limits are not declared in the OpenAPI spec. Treat the API as a moderate-volume diary integration: read allocations once per applicant interaction rather than continuously polling, and rely on event flows for status updates where possible.

### How do I find available appointment slots through Jentic?

Run `pip install jentic`, search 'find agentos diary allocations', and execute GET /v3/diary/{shortName}/allocations for the tenant short name. Jentic returns the open allocations ready for the agent to offer to the applicant.

### Can I look up branches for a letting agency?

Yes. GET /v3/diary/{shortName}/company/branches lists all branches for the company, and GET /v3/diary/{shortName}/company/branches/{branchID} returns a specific branch by Object ID for routing appointments correctly.

### Can I limit what my agent is allowed to do with the agentOS Diary API?

Yes. Because you run Jentic One yourself, your own rules decide which Diary operations and credentials the agent may use, and the diary short name sits in the path (/v3/diary/{shortName}/...) so a rule can pin the agent to a single diary. You can allow it to read allocations with GET /v3/diary/{shortName}/allocations and book with POST /v3/diary/{shortName}/appointment while withholding everything else. Destructive operations like PATCH cancel and DELETE appointment are included only if you explicitly add them.
