appwrite-kotlin

Implements Appwrite backend operations in Kotlin for Android apps and JVM servers.

1|1|Updated Jul 31, 2026
One-click install
npx skills add https://github.com/appwrite/agent --skill appwrite-kotlin-appwrite
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: appwrite-kotlin
Source: https://github.com/appwrite/agent/tree/main/.agents/skills/appwrite-kotlin
Command: npx skills add https://github.com/appwrite/agent --skill appwrite-kotlin-appwrite

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers building Android apps or Kotlin/JVM backends with Appwrite need correct, up-to-date SDK patterns for authentication, databases, storage, and realtime features without digging through scattered documentation. ## Core Features & Use Cases - Client-side Android integration: Email/password and OAuth authentication, realtime subscriptions with coroutine support, and file uploads using the Android SDK. - Server-side administration: User management, database administration, storage, and function execution via API keys on Kotlin/JVM backends. - SSR authentication patterns: Admin and session client separation with secure cookie handling for Ktor and Spring Boot apps. - Use Case: Build an Android app where users sign in with Google OAuth, query a TablesDB table with filters, upload profile photos, and receive live updates when rows change. ## Quick Start Ask the agent to write Kotlin code that connects to your Appwrite project and creates a row in a TablesDB table with proper permissions.

Frequently Asked Questions about appwrite-kotlin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I authenticate users with the Appwrite Kotlin SDK?▼

Use the Account service with createEmailPasswordSession for email login or createOAuth2Session with an Activity reference for OAuth providers like Google. On servers, use createSession with an API key to exchange OAuth tokens for sessions.

How do I query a database with the Appwrite Kotlin SDK?▼

Use TablesDB.listRows with Query helpers such as Query.equal, Query.greaterThan, Query.orderDesc, and Query.limit. Prefer cursor pagination with Query.cursorAfter for large datasets, and always use TablesDB rather than the deprecated Databases class.

Does the Appwrite Kotlin SDK support server-side rendering with Ktor?▼

Yes, SSR works using two clients: an admin client with an API key for creating sessions and a per-request session client that reads the a_session_<PROJECT_ID> cookie. Set httpOnly, secure, and SameSite=Strict on the session cookie.

Can I use realtime subscriptions in an Android app with Appwrite?▼

Yes, the Realtime service supports subscribing to channels like tablesdb rows, bucket files, and account changes with coroutine-friendly callbacks. Call subscription.close() when done to release the connection.

Why do users get 401 or 403 errors after creating rows in Appwrite?▼

Appwrite grants no access by default, so rows created without explicit permissions are inaccessible to everyone. Attach Permission.read, Permission.update, or Permission.delete with Role targets like Role.user or Role.team when creating resources.