{ "openapi": "3.1.0", "info": { "title": "Crumbs API", "description": "Auto-generated API spec for crumbs", "version": "0.33.0", "contact": { "name": "Bretzel", "url": "https://bretzel.app" } }, "servers": [ { "url": "/", "description": "Current instance" } ], "security": [ { "sessionCookie": [] } ], "paths": { "/api/admin/users": { "get": { "tags": [ "Admin" ], "responses": { "200": { "description": "Success" } } }, "post": { "tags": [ "Admin" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/admin/users/{id}": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "patch": { "tags": [ "Admin" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "delete": { "tags": [ "Admin" ], "responses": { "200": { "description": "Success" } } } }, "/api/auth/account": { "delete": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } } } }, "/api/auth/login": { "post": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/auth/logout": { "post": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/auth/oauth/{provider}": { "parameters": [ { "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } } } }, "/api/auth/oauth/{provider}/callback": { "parameters": [ { "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } } } }, "/api/auth/password": { "put": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/auth/profile": { "put": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/auth/sessions": { "get": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } } }, "delete": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } } } }, "/api/auth/setup": { "post": { "tags": [ "Auth" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/mcp": { "post": { "tags": [ "Mcp" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "get": { "tags": [ "Mcp" ], "responses": { "200": { "description": "Success" } } }, "delete": { "tags": [ "Mcp" ], "responses": { "200": { "description": "Success" } } } }, "/api/notes": { "get": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } }, "post": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/notes/reorder": { "post": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/notes/{id}": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } }, "patch": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "delete": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } } }, "/api/notes/{id}/attachments": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } }, "post": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "patch": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "delete": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } } }, "/api/notes/{id}/collaborators": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } }, "post": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "delete": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } } }, "/api/notes/{id}/share": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "post": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "delete": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } } }, "/api/notes/{id}/versions": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } } }, "/api/notes/{id}/versions/{versionId}": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "versionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } } } }, "/api/notes/{id}/versions/{versionId}/restore": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "versionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "post": { "tags": [ "Notes" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/preferences": { "get": { "tags": [ "Preferences" ], "responses": { "200": { "description": "Success" } } }, "put": { "tags": [ "Preferences" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/search": { "get": { "tags": [ "Search" ], "responses": { "200": { "description": "Success" } } } }, "/api/settings/api-keys": { "get": { "tags": [ "Settings" ], "responses": { "200": { "description": "Success" } } }, "post": { "tags": [ "Settings" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/api/settings/api-keys/{id}": { "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "delete": { "tags": [ "Settings" ], "responses": { "200": { "description": "Success" } } } }, "/api/shared/{token}": { "parameters": [ { "name": "token", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Shared" ], "responses": { "200": { "description": "Success" } } } }, "/api/shared/{token}/attachment/{attachmentId}": { "parameters": [ { "name": "token", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "attachmentId", "in": "path", "required": true, "schema": { "type": "string" } } ], "get": { "tags": [ "Shared" ], "responses": { "200": { "description": "Success" } } } }, "/api/sync": { "post": { "tags": [ "Sync" ], "responses": { "200": { "description": "Success" } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "get": { "tags": [ "Sync" ], "responses": { "200": { "description": "Success" } } } }, "/api/tags": { "get": { "tags": [ "Tags" ], "responses": { "200": { "description": "Success" } } } }, "/api/users/search": { "get": { "tags": [ "Users" ], "responses": { "200": { "description": "Success" } } } } }, "components": { "securitySchemes": { "sessionCookie": { "type": "apiKey", "in": "cookie", "name": "session" } } } }