{"openapi":"3.1.0","info":{"title":"Turbodoc API","version":"1.0.0","description":"REST API for Turbodoc, the open-source knowledge base for humans and AI agents. Manage bookmarks, markdown notes, code snippets, and diagrams. AI assistants can use the same functionality via the hosted MCP server at https://api.turbodoc.ai/mcp (OAuth 2.0, Streamable HTTP) — see https://turbodoc.ai/mcp. All endpoints require a Supabase Auth JWT bearer token unless noted otherwise.","contact":{"name":"Turbodoc","url":"https://turbodoc.ai/contact"}},"servers":[{"url":"https://api.turbodoc.ai","description":"Production"}],"externalDocs":{"description":"Turbodoc documentation","url":"https://turbodoc.ai/docs"},"components":{"schemas":{},"parameters":{}},"paths":{"/v1/contact":{"post":{"operationId":"post_qx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/users/stats":{"get":{"operationId":"get_Jx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/bookmarks":{"get":{"operationId":"get_Qb","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"post":{"operationId":"post_ex","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/bookmarks/search":{"get":{"operationId":"get_ix","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/bookmarks/batch":{"post":{"operationId":"post_sx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/bookmarks/{id}":{"put":{"operationId":"put_tx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"delete_nx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/bookmarks/og-image":{"get":{"operationId":"get_rx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/notes":{"get":{"operationId":"get_cx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"post":{"operationId":"post_ux","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/notes/{id}":{"get":{"operationId":"get_lx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"put":{"operationId":"put_dx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"delete_fx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/notes/batch":{"post":{"operationId":"post_hx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/notes/transcribe":{"post":{"operationId":"post__x","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/tags":{"get":{"operationId":"get_vx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/code-snippets":{"get":{"operationId":"get_yx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"post":{"operationId":"post_bx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/code-snippets/{id}":{"put":{"operationId":"put_xx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"delete_Sx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/diagrams":{"get":{"operationId":"get_Cx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"post":{"operationId":"post_Tx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/diagrams/{id}":{"get":{"operationId":"get_wx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"put":{"operationId":"put_Ex","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"delete_Dx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/diagrams/{id}/duplicate":{"post":{"operationId":"post_Ox","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v2/documents":{"get":{"operationId":"get_Lx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"post":{"operationId":"post_zx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v2/documents/{id}":{"get":{"operationId":"get_Rx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"put":{"operationId":"put_Bx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"delete_Vx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v2/documents/{id}/revisions":{"get":{"operationId":"get_Hx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v2/documents/{id}/revisions/{revisionId}":{"patch":{"operationId":"patch_Ux","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v2/documents/{id}/revisions/{revisionId}/restore":{"post":{"operationId":"post_Wx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}},"/v1/digest/preferences":{"get":{"operationId":"get_Xx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}},"put":{"operationId":"put_Zx","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}}}}}},"webhooks":{}}