{"files":{"SKILL.md":"---\nname: agentos-api-v3-diary-call-group\ndescription: \"agentOS API V3, Diary Call Group API skill. Use when working with agentOS API V3, Diary Call Group for diary. Covers 13 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# agentOS API V3, Diary Call Group\nAPI version: v3-diary\n\n## Auth\nbasic | ApiKey ApiKey in header\n\n## Base URL\nhttps://live-api.letmc.com\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /v3/diary/{shortname}/{branchID}/guest/search -- match guest parameters with existing applicants\n3. POST /v3/diary/{shortName}/appointment -- create first appointment\n\n## Endpoints\n13 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Diary\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /v3/diary/{shortname}/{branchID}/guest/search | Match Guest Parameters with existing applicants |\n| GET | /v3/diary/{shortName}/allocations | Get a list of all available allocations for a date + 7 days for a specified appointment type |\n| GET | /v3/diary/{shortName}/appointment | Get an appointment by ID |\n| PUT | /v3/diary/{shortName}/appointment | Update an existing appointment using its unique identifier |\n| POST | /v3/diary/{shortName}/appointment | Post an appointment into a valid diary allocation |\n| DELETE | /v3/diary/{shortName}/appointment | Delete an existing appointment using its unique identifier |\n| PATCH | /v3/diary/{shortName}/appointment/{appointmentID}/cancel | Cancel an existing appointment using its unique identifier |\n| POST | /v3/diary/{shortName}/appointment/feedback | Submit appointment feedback |\n| GET | /v3/diary/{shortName}/appointmentsbetweendates | A collection of diary appointments linked to a company filtered between specific dates and by appointment type |\n| GET | /v3/diary/{shortName}/appointmenttypes | A collection of all diary appointment types |\n| GET | /v3/diary/{shortName}/company/branches | All branches defined for a company |\n| GET | /v3/diary/{shortName}/company/branches/{branchID} | Get a specific branch given its unique Object ID (OID) |\n| GET | /v3/diary/{shortName}/recurringappointment | Retrieves all recurring appointments:- |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all search?\" -> GET /v3/diary/{shortname}/{branchID}/guest/search\n- \"List all allocations?\" -> GET /v3/diary/{shortName}/allocations\n- \"List all appointment?\" -> GET /v3/diary/{shortName}/appointment\n- \"Create a appointment?\" -> POST /v3/diary/{shortName}/appointment\n- \"Create a feedback?\" -> POST /v3/diary/{shortName}/appointment/feedback\n- \"List all appointmentsbetweendates?\" -> GET /v3/diary/{shortName}/appointmentsbetweendates\n- \"List all appointmenttypes?\" -> GET /v3/diary/{shortName}/appointmenttypes\n- \"List all branches?\" -> GET /v3/diary/{shortName}/company/branches\n- \"Get branche details?\" -> GET /v3/diary/{shortName}/company/branches/{branchID}\n- \"List all recurringappointment?\" -> GET /v3/diary/{shortName}/recurringappointment\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api agentOS API V3, Diary Call Group\n@base https://live-api.letmc.com\n@version v3-diary\n@auth basic | ApiKey ApiKey in header\n@endpoints 13\n@toc diary(13)\n\n@endpoint GET /v3/diary/{shortname}/{branchID}/guest/search\n@desc Match Guest Parameters with existing applicants\n@required {shortname: any, branchID: any, forename: any, emailaddress: any, surname: any, offset: any, count: any}\n@returns(200) OK\n\n@endpoint GET /v3/diary/{shortName}/allocations\n@desc Get a list of all available allocations for a date + 7 days for a specified appointment type\n@required {shortName: any # The unique client short-name, preferredDate: any # The date to search from, appointmentType: any # The unique appointment type identifier}\n@optional {lettings: any # Sales or Lettings property?, propertyIdentifier: any # The unique property identifier (Sales or Lettings) determines branch and property type, branchID: any # Branch ID to check appointments (required if no property submitted)}\n@returns(200) OK\n\n@endpoint GET /v3/diary/{shortName}/appointment\n@desc Get an appointment by ID\n@required {shortName: any # Company short name, appointmentID: any # Appointment ID}\n@returns(200) OK\n\n@endpoint PUT /v3/diary/{shortName}/appointment\n@desc Update an existing appointment using its unique identifier\n@required {shortName: any # The unique client short-name, appointmentID: any # The unique appointment id, appointmentDetails: map # The appointment details model}\n@optional {lettings: any # Sales or Lettings property?, AllowMarketingCorrespondence: any # Sales or Lettings property?}\n@returns(200) OK\n\n@endpoint POST /v3/diary/{shortName}/appointment\n@desc Post an appointment into a valid diary allocation\n@required {shortName: any # The unique client short-name, propertyIdentifier: any # The unique property identifier (Sales or Lettings), appointmentDetails: map # The appointment details model}\n@optional {lettings: any # Sales or Lettings property?}\n@returns(200) OK\n\n@endpoint DELETE /v3/diary/{shortName}/appointment\n@desc Delete an existing appointment using its unique identifier\n@required {shortName: any # The unique client short-name, appointmentID: any # The unique appointment id}\n@returns(200) OK\n\n@endpoint PATCH /v3/diary/{shortName}/appointment/{appointmentID}/cancel\n@desc Cancel an existing appointment using its unique identifier\n@required {shortName: any # The unique client short-name, appointmentID: any # The unique appointment id}\n@returns(200) OK\n\n@endpoint POST /v3/diary/{shortName}/appointment/feedback\n@desc Submit appointment feedback\n@required {shortName: any # The unique client short-name, submissionModel: map # Feedback submission model}\n@returns(200) OK\n\n@endpoint GET /v3/diary/{shortName}/appointmentsbetweendates\n@desc A collection of diary appointments linked to a company filtered between specific dates and by appointment type\n@required {shortName: any # The unique client short-name, branchID: any # The unique ID of the Branch, startDate: any # The search from date, endDate: any # The search to date, appointmentTypesToSearch: any # The appointment IDs to search for, offset: any # The index of the first item to return, count: any # The maximum number of items to return (up to 1000 per request)}\n@returns(200) OK\n\n@endpoint GET /v3/diary/{shortName}/appointmenttypes\n@desc A collection of all diary appointment types\n@required {shortName: any # The unique client short-name, offset: any # The index of the first item to return, count: any # The maximum number of items to return (up to 1000 per request)}\n@returns(200) OK\n\n@endpoint GET /v3/diary/{shortName}/company/branches\n@desc All branches defined for a company\n@required {shortName: any # The unique client short-name, offset: any # The index of the first item to return, count: any # The maximum number of items to return (up to 1000 per request)}\n@returns(200) OK\n\n@endpoint GET /v3/diary/{shortName}/company/branches/{branchID}\n@desc Get a specific branch given its unique Object ID (OID)\n@required {shortName: any # The unique client short-name, branchID: any # The unique ID of the Branch}\n@returns(200) OK\n\n@endpoint GET /v3/diary/{shortName}/recurringappointment\n@desc Retrieves all recurring appointments:-\n@required {shortName: any # The unique client short-name, branchID: any # The unique ID of the Branch, appointmentTypesToSearch: any # The appointment IDs to search for, offset: any # The index of the first item to return, count: any # The maximum number of items to return (up to 1000 per request)}\n@returns(200) OK\n\n@end\n"}}