# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Appwrite Presences API version: 1.0.0 extends: openapi/appwrite-presences-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 6 - target: $.paths['/presences'].get update: x-apievangelist-phrasing: intent: List who is online effect: read questions: - Which users are currently online in my app? - Are expired presence entries included when I list presences? instructions: - text: List all active presence logs. - text: List presences matching {queries}. slots: queries: query.queries method: generated generated: '2026-09-26' - target: $.paths['/presences/usage'].get update: x-apievangelist-phrasing: intent: Get online-user usage metrics effect: read questions: - How many users are online right now? - What did my online user count look like over the last month? instructions: - text: Show presence usage for the current period. - text: Get online user counts over range {range}. slots: range: query.range method: generated generated: '2026-09-26' - target: $.paths['/presences/{presenceId}'].get update: x-apievangelist-phrasing: intent: Get one presence entry effect: read questions: - What is the status of a specific presence entry? - Why does an expired presence come back as not found? instructions: - text: Get presence {presenceId}. slots: presenceId: path.presenceId - text: Show the presence log {presenceId} and its metadata. slots: presenceId: path.presenceId method: generated generated: '2026-09-26' - target: $.paths['/presences/{presenceId}'].put update: x-apievangelist-phrasing: intent: Set a user's presence status effect: write questions: - How do I mark a user as online or away? - Can I create a presence entry that expires at a set time? instructions: - text: Set presence {presenceId} to status {status}. slots: presenceId: path.presenceId status: requestBody.status - text: Create or replace presence {presenceId} for user {userId} with status {status} expiring at {expiresAt}. slots: presenceId: path.presenceId userId: requestBody.userId status: requestBody.status expiresAt: requestBody.expiresAt method: generated generated: '2026-09-26' - target: $.paths['/presences/{presenceId}'].delete update: x-apievangelist-phrasing: intent: Delete a presence entry effect: destructive questions: - How do I clear a user's presence when they sign out? - Can I remove a presence log by its ID? instructions: - text: Delete presence {presenceId}. slots: presenceId: path.presenceId - text: Clear the presence log {presenceId}. slots: presenceId: path.presenceId method: generated generated: '2026-09-26' - target: $.paths['/presences/{presenceId}'].patch update: x-apievangelist-phrasing: intent: Change fields on an existing presence effect: write questions: - Can I change only the status of an existing presence without resending everything? - Is it possible to extend when an existing presence expires? instructions: - text: Change the status of existing presence {presenceId} to {status}. slots: presenceId: path.presenceId status: requestBody.status - text: Update metadata on presence {presenceId} to {metadata}. slots: presenceId: path.presenceId metadata: requestBody.metadata method: generated generated: '2026-09-26'