Appwrite · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Appwrite Organization API

24 actions 24 updates phrasing extends openapi/appwrite-organization-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 24 · first 16 shown; the file carries all of them

$.info
$.paths['/organization'].get
$.paths['/organization'].put
$.paths['/organization'].delete
$.paths['/organization/installations'].get
$.paths['/organization/installations'].post
$.paths['/organization/installations/{installationId}'].get
$.paths['/organization/installations/{installationId}'].put
$.paths['/organization/installations/{installationId}'].delete
$.paths['/organization/keys'].get
$.paths['/organization/keys'].post
$.paths['/organization/keys/{keyId}'].get
$.paths['/organization/keys/{keyId}'].put
$.paths['/organization/keys/{keyId}'].delete
$.paths['/organization/memberships'].get
$.paths['/organization/memberships'].post

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 Organization API
  version: 1.0.0
extends: openapi/appwrite-organization-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: 23
- target: $.paths['/organization'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the current organization
      effect: read
      questions:
      - What are the details of the organization my key belongs to?
      - How can I check the name of my current Appwrite organization?
      instructions:
      - text: Show my current organization.
      - text: Fetch the details of this organization.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename the current organization
      effect: write
      questions:
      - Can I change the name of my organization?
      - What can be edited on the current organization besides its name?
      instructions:
      - text: Rename my organization to {name}.
        slots:
          name: requestBody.name
      - text: Set the current organization's name to {name}.
        slots:
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete the current organization
      effect: destructive
      questions:
      - Does deleting my organization also delete every project inside it?
      - How do I permanently shut down the organization I'm working in?
      instructions:
      - text: Delete my current organization and all its projects.
      - text: Permanently remove this organization.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/installations'].get
  update:
    x-apievangelist-phrasing:
      intent: List apps installed on the organization
      effect: read
      questions:
      - Which apps are installed on my organization?
      - Can any organization member see the app installations, or only owners?
      instructions:
      - text: List the app installations on my organization.
      - text: Show organization app installs matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/installations'].post
  update:
    x-apievangelist-phrasing:
      intent: Install an app on the organization
      effect: write
      questions:
      - How do I install an app on my organization?
      - Which scopes does a newly installed app get granted?
      instructions:
      - text: Install app {appId} on my organization.
        slots:
          appId: requestBody.appId
      - text: Install app {appId} with authorization details {authorizationDetails}.
        slots:
          appId: requestBody.appId
          authorizationDetails: requestBody.authorizationDetails
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/installations/{installationId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one app installation
      effect: read
      questions:
      - What scopes does a specific app installation on my organization hold?
      - Can I look up a single installation by its ID?
      instructions:
      - text: Show app installation {installationId}.
        slots:
          installationId: path.installationId
      - text: Get the details of installed app {installationId}.
        slots:
          installationId: path.installationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/installations/{installationId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Refresh an app installation's scopes
      effect: write
      questions:
      - When an app starts requesting new scopes, how do I refresh what its installation is granted?
      - Who is allowed to update an app installation on the organization?
      instructions:
      - text: Update installation {installationId} to the app's current scopes.
        slots:
          installationId: path.installationId
      - text: Change the authorization details of installation {installationId} to {authorizationDetails}.
        slots:
          installationId: path.installationId
          authorizationDetails: requestBody.authorizationDetails
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/installations/{installationId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Uninstall an app from the organization
      effect: destructive
      questions:
      - How do I uninstall an app from my organization?
      - Are the access tokens an installed app received revoked when it is removed?
      instructions:
      - text: Uninstall app installation {installationId}.
        slots:
          installationId: path.installationId
      - text: Remove installed app {installationId} and revoke its tokens.
        slots:
          installationId: path.installationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/keys'].get
  update:
    x-apievangelist-phrasing:
      intent: List organization API keys
      effect: read
      questions:
      - What organization-level API keys exist right now?
      - Can I filter the organization's keys with queries?
      instructions:
      - text: List all organization API keys.
      - text: Show organization keys matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/keys'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an organization API key
      effect: write
      questions:
      - How do I create an API key that works across my whole organization?
      - Can an organization key be given limited scopes and an expiry date?
      instructions:
      - text: Create an organization key {keyId} named {name} with scopes {scopes}.
        slots:
          keyId: requestBody.keyId
          name: requestBody.name
          scopes: requestBody.scopes
      - text: Issue org key {keyId} called {name} with {scopes} that expires {expire}.
        slots:
          keyId: requestBody.keyId
          name: requestBody.name
          scopes: requestBody.scopes
          expire: requestBody.expire
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/keys/{keyId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an organization API key
      effect: read
      questions:
      - Which scopes does a particular organization key have?
      - How can I inspect one org API key by its ID?
      instructions:
      - text: Show organization key {keyId}.
        slots:
          keyId: path.keyId
      - text: Get the scopes on org key {keyId}.
        slots:
          keyId: path.keyId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/keys/{keyId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an organization API key
      effect: write
      questions:
      - Can I change the scopes or expiration of an existing organization key?
      - How do I rename an org API key without deleting it?
      instructions:
      - text: Update org key {keyId} to name {name} with scopes {scopes}.
        slots:
          keyId: path.keyId
          name: requestBody.name
          scopes: requestBody.scopes
      - text: Change the expiry of organization key {keyId} to {expire}, keeping name {name} and scopes {scopes}.
        slots:
          keyId: path.keyId
          expire: requestBody.expire
          name: requestBody.name
          scopes: requestBody.scopes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/keys/{keyId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an organization API key
      effect: destructive
      questions:
      - How do I revoke an organization key so it can no longer call the API?
      - What happens to requests that use an org key after it is deleted?
      instructions:
      - text: Delete organization key {keyId}.
        slots:
          keyId: path.keyId
      - text: Revoke org API key {keyId}.
        slots:
          keyId: path.keyId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/memberships'].get
  update:
    x-apievangelist-phrasing:
      intent: List organization members
      effect: read
      questions:
      - Who are the members of my organization?
      - Can I search the organization's memberships by name or email?
      instructions:
      - text: List everyone in my organization.
      - text: Search organization members for {search}.
        slots:
          search: query.search
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/memberships'].post
  update:
    x-apievangelist-phrasing:
      intent: Invite a member to the organization
      effect: write
      questions:
      - How do I invite a teammate to my organization by email?
      - Can I assign roles to someone when inviting them to the organization?
      instructions:
      - text: Invite {email} to the organization with roles {roles}.
        slots:
          email: requestBody.email
          roles: requestBody.roles
      - text: Add existing user {userId} to my organization as {roles}.
        slots:
          userId: requestBody.userId
          roles: requestBody.roles
      - text: Invite {name} at {email} with roles {roles} and redirect them to {url}.
        slots:
          name: requestBody.name
          email: requestBody.email
          roles: requestBody.roles
          url: requestBody.url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/memberships/{membershipId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one organization membership
      effect: read
      questions:
      - What roles does a specific member hold in my organization?
      - Has a particular invited member accepted yet?
      instructions:
      - text: Show organization membership {membershipId}.
        slots:
          membershipId: path.membershipId
      - text: Get the roles for org member {membershipId}.
        slots:
          membershipId: path.membershipId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/memberships/{membershipId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a member from the organization
      effect: destructive
      questions:
      - How do I remove someone from my organization?
      - Can I cancel an invitation that hasn't been accepted yet?
      instructions:
      - text: Remove organization member {membershipId}.
        slots:
          membershipId: path.membershipId
      - text: Revoke the pending org invitation {membershipId}.
        slots:
          membershipId: path.membershipId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/memberships/{membershipId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change an organization member's roles
      effect: write
      questions:
      - How do I promote an organization member to owner?
      - Can I change the roles of an existing organization member?
      instructions:
      - text: Set the roles of org member {membershipId} to {roles}.
        slots:
          membershipId: path.membershipId
          roles: requestBody.roles
      - text: Give organization membership {membershipId} the roles {roles}.
        slots:
          membershipId: path.membershipId
          roles: requestBody.roles
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/projects'].get
  update:
    x-apievangelist-phrasing:
      intent: List projects in the organization
      effect: read
      questions:
      - Which projects belong to my organization?
      - Can I search the organization's projects by name?
      instructions:
      - text: List all projects in my organization.
      - text: Search organization projects for {search}.
        slots:
          search: query.search
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/projects'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a project in the organization
      effect: write
      questions:
      - How do I create a new project under my organization?
      - Can I choose the region a new project is hosted in?
      instructions:
      - text: Create project {projectId} named {name}.
        slots:
          projectId: requestBody.projectId
          name: requestBody.name
      - text: Create project {projectId} called {name} in region {region}.
        slots:
          projectId: requestBody.projectId
          name: requestBody.name
          region: requestBody.region
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/projects/{projectId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a project in the organization
      effect: read
      questions:
      - What are the settings of one project in my organization?
      - How can I look up an organization project by its ID?
      instructions:
      - text: Show organization project {projectId}.
        slots:
          projectId: path.projectId
      - text: Get details of project {projectId}.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/projects/{projectId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a project in the organization
      effect: destructive
      questions:
      - How do I delete a single project from my organization?
      - Is deleting an organization project permanent?
      instructions:
      - text: Delete organization project {projectId}.
        slots:
          projectId: path.projectId
      - text: Permanently remove project {projectId} from the organization.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organization/projects/{projectId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Rename a project in the organization
      effect: write
      questions:
      - Can I rename a project that belongs to my organization?
      - What fields of an organization project can be updated?
      instructions:
      - text: Rename project {projectId} to {name}.
        slots:
          projectId: path.projectId
          name: requestBody.name
      - text: Change organization project {projectId}'s name to {name}.
        slots:
          projectId: path.projectId
          name: requestBody.name
      method: generated
      generated: '2026-09-26'