Every Appwrite service is available through a consistent set of APIs. You can call them directly over REST or GraphQL, subscribe to changes in Realtime, or react to changes using events and webhooks.
Most applications don't call these APIs by hand. Instead, use one of the official SDKs, which wrap every endpoint for your language and platform, and browse the API reference for the full list of services and methods. The pages below describe the underlying protocols and conventions for when you need to integrate directly.
Protocols
Choose the protocol that fits your use case. REST and GraphQL cover the same endpoints, while Realtime delivers updates as they happen.
REST
Access every Appwrite endpoint over HTTP without an SDK, including authentication, file uploads, queries, and permissions.
GraphQL
Query and mutate your data through a single GraphQL endpoint.
Realtime
Subscribe to channels and receive updates over WebSockets the moment your data changes.
Event-driven workflows
React to project changes with events emitted by Appwrite and webhooks delivered to your own endpoints.
Events
The full list of events Appwrite emits so you can react to changes across your project.
Webhooks
Trigger external workflows by delivering events to your own HTTP endpoints.
API responses
Understand the responses Appwrite returns and handle errors so your application can recover gracefully.