Appwrite (self-hosted)
Connect your client's Appwrite (self-hosted) with a key they paste, and call its API through Operate As.
- Website
- appwrite.io
- Connects by
- Pasting a API key
- Category
- Developer tools
- Services
- 1
- Tools
- Pass-through only
| Service | Key | Base URL |
|---|---|---|
| Appwrite (self-hosted) | appwrite-self-hosted | https://{site}/v1 |
Your client also types their appwrite address (Where your Appwrite is, such as example.com, without https://) and project id (In your project's settings).
Connecting
Your client makes a API key in their Appwrite (self-hosted) settings and pastes it on their link. Operate As tries it with Appwrite (self-hosted) before saving it, and stores it encrypted. See Services connected with an API key.
curl https://api.operate.as/v1/me/clients \ -H "Authorization: Bearer $OPERATE_AS_API_KEY"[ { "id": "6f1c2a7e-...", "name": "Miller Dental", "services": [ "appwrite-self-hosted" ] }]Permissions
| What the client reads | Permission it asks for |
|---|---|
| Use the Appwrite (self-hosted) key you paste, with only the access you gave that key | Chosen on the provider's screen |
Pass-through
Appwrite (self-hosted) has no ready-made tools yet. Call any endpoint of its API through Operate As instead, with the client's access attached.
Add the client
In Clients, add your client and select Appwrite (self-hosted). Then send them their link.
Your client connects
They paste a API key from their Appwrite (self-hosted) settings.
Find the endpoint
Pick the call from Appwrite (self-hosted)'s own API docs. Your path is everything after https://{site}/v1, with the parts in braces filled in from your client's account.
Send it through Operate As
Use the client's ID, the service key appwrite-self-hosted and that path. Your Operate As key goes in Authorization; the client's access is added for you.
See Pass-through requests for the full request and response format.
curl "https://api.operate.as/v1/clients/6f1c2a7e-.../appwrite-self-hosted/..." \ -H "Authorization: Bearer $OPERATE_AS_API_KEY"{ "status": 200, "data": { "…": "the service's own response" }, "encoding": "json"}When access ends
A key works until your client deletes it in Appwrite (self-hosted). They can paste a new one on the same link at any time, and your workflows carry on without changes.
See Keeping access alive and Removing access.
{ "status": 401, "data": { "…": "the service's own error" }, "encoding": "json"}