You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -331,7 +331,7 @@ Notes:
331
331
Personal API keys for automation clients:
332
332
333
333
- Create and manage keys from the authenticated account API: `GET /auth/api-keys`, `POST /auth/api-keys`, and `DELETE /auth/api-keys/:id`.
334
-
- `POST /auth/api-keys` accepts `{ "name": "Obsidian"}` and returns the plaintext token once. Store it immediately; ExcaliDash stores only a hash and metadata.
334
+
- `POST /auth/api-keys` accepts `{ "name": "Obsidian"}` and optional `scopes`, for example `{ "name": "Obsidian", "scopes": ["drawings:read", "drawings:write"] }`. If omitted, all API-key scopes are granted. Store the returned plaintext token immediately; ExcaliDash stores only a hash and metadata.
335
335
- Automation clients such as the Obsidian plugin should call normal drawing and collection APIs with `Authorization: Bearer <key>`, for example `Authorization: Bearer exd_...`.
336
336
- API keys are scoped automation credentials for `/drawings` and `/collections` only. They cannot manage account settings, create/revoke API keys, call admin endpoints, or use import/export APIs.
337
337
- API-key Bearer requests without browser `Origin`/`Referer` headers do not require CSRF tokens. Cookie-authenticated browser requests keep the existing CSRF behavior.
0 commit comments