Appwrite · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Appwrite Presences API

7 actions 7 updates phrasing extends openapi/appwrite-presences-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Appwrite's API. It is a proposal applied on top of the contract, not a document Appwrite publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/presences'].get
$.paths['/presences/usage'].get
$.paths['/presences/{presenceId}'].get
$.paths['/presences/{presenceId}'].put
$.paths['/presences/{presenceId}'].delete
$.paths['/presences/{presenceId}'].patch

OpenAPI Overlay

Raw ↑
# 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'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/appwrite-presences-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.