mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 13:39:01 +01:00 
			
		
		
		
	feat(docs): add additional api routes
This commit is contained in:
		
							parent
							
								
									d358924324
								
							
						
					
					
						commit
						05c73011f5
					
				@ -218,6 +218,49 @@ paths:
 | 
			
		||||
        '204':
 | 
			
		||||
          description: Session refreshed
 | 
			
		||||
 | 
			
		||||
  # OAuth endpoints
 | 
			
		||||
  /api/oauth/status:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Authentication]
 | 
			
		||||
      summary: Get OAuth status
 | 
			
		||||
      operationId: getOAuthStatus
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: OAuth status
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  enabled:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                  configured:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                  providers:
 | 
			
		||||
                    type: array
 | 
			
		||||
                    items:
 | 
			
		||||
                      type: string
 | 
			
		||||
                      
 | 
			
		||||
  /api/oauth/validate:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Authentication]
 | 
			
		||||
      summary: Validate OAuth configuration
 | 
			
		||||
      operationId: validateOAuth
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: OAuth validation result
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  valid:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                  errors:
 | 
			
		||||
                    type: array
 | 
			
		||||
                    items:
 | 
			
		||||
                      type: string
 | 
			
		||||
 | 
			
		||||
  # App Info
 | 
			
		||||
  /api/app-info:
 | 
			
		||||
    get:
 | 
			
		||||
@ -303,6 +346,29 @@ paths:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Sync setup successful
 | 
			
		||||
          
 | 
			
		||||
  /api/setup/sync-seed:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Configuration, Sync]
 | 
			
		||||
      summary: Get sync seed for setup
 | 
			
		||||
      operationId: getSyncSeed
 | 
			
		||||
      security: []
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Sync seed information
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  syncVersion:
 | 
			
		||||
                    type: integer
 | 
			
		||||
                  schemaVersion:
 | 
			
		||||
                    type: integer
 | 
			
		||||
                  documentSecret:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  maxSyncId:
 | 
			
		||||
                    type: integer
 | 
			
		||||
 | 
			
		||||
  # Note operations
 | 
			
		||||
  /api/notes/{noteId}:
 | 
			
		||||
    get:
 | 
			
		||||
@ -660,7 +726,7 @@ paths:
 | 
			
		||||
                type: string
 | 
			
		||||
                format: binary
 | 
			
		||||
                
 | 
			
		||||
  /api/notes/{noteId}/download:
 | 
			
		||||
  /api/notes/download/{noteId}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Notes]
 | 
			
		||||
      summary: Download file note
 | 
			
		||||
@ -681,13 +747,38 @@ paths:
 | 
			
		||||
                type: string
 | 
			
		||||
                format: binary
 | 
			
		||||
                
 | 
			
		||||
  /api/notes/{noteId}/open-partial:
 | 
			
		||||
  /api/notes/{noteId}/download:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Notes]
 | 
			
		||||
      summary: Stream file with partial content support
 | 
			
		||||
      operationId: openPartialFileNote
 | 
			
		||||
      summary: Download file note (alternative path)
 | 
			
		||||
      operationId: downloadFileNoteAlt
 | 
			
		||||
      parameters:
 | 
			
		||||
        - $ref: '#/components/parameters/noteId'
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: File content
 | 
			
		||||
          headers:
 | 
			
		||||
            Content-Disposition:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
                example: attachment; filename="document.pdf"
 | 
			
		||||
          content:
 | 
			
		||||
            application/octet-stream:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
                format: binary
 | 
			
		||||
                
 | 
			
		||||
  /api/attachments/{attachmentId}/open-partial:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Attachments]
 | 
			
		||||
      summary: Stream file with partial content support
 | 
			
		||||
      operationId: openPartialFileAttachment
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: attachmentId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
        - name: Range
 | 
			
		||||
          in: header
 | 
			
		||||
          schema:
 | 
			
		||||
@ -1477,7 +1568,7 @@ paths:
 | 
			
		||||
                type: string
 | 
			
		||||
                format: binary
 | 
			
		||||
                
 | 
			
		||||
  /api/attachments/{attachmentId}/download:
 | 
			
		||||
  /api/attachments/download/{attachmentId}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Attachments]
 | 
			
		||||
      summary: Download attachment
 | 
			
		||||
@ -1502,6 +1593,128 @@ paths:
 | 
			
		||||
                type: string
 | 
			
		||||
                format: binary
 | 
			
		||||
                
 | 
			
		||||
  /api/attachments/{attachmentId}/download:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Attachments]
 | 
			
		||||
      summary: Download attachment (alternative path)
 | 
			
		||||
      operationId: downloadAttachmentAlt
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: attachmentId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Attachment content
 | 
			
		||||
          headers:
 | 
			
		||||
            Content-Disposition:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
                example: attachment; filename="document.pdf"
 | 
			
		||||
          content:
 | 
			
		||||
            application/octet-stream:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
                format: binary
 | 
			
		||||
 | 
			
		||||
  /api/attachments/{attachmentId}/all:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Attachments]
 | 
			
		||||
      summary: Get all attachment information
 | 
			
		||||
      operationId: getAllAttachmentInfo
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: attachmentId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Complete attachment information
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  attachmentId:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  title:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  mime:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  isProtected:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                  position:
 | 
			
		||||
                    type: integer
 | 
			
		||||
                  contentLength:
 | 
			
		||||
                    type: integer
 | 
			
		||||
                  ownerId:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  dateCreated:
 | 
			
		||||
                    type: string
 | 
			
		||||
                    format: date-time
 | 
			
		||||
                  dateModified:
 | 
			
		||||
                    type: string
 | 
			
		||||
                    format: date-time
 | 
			
		||||
 | 
			
		||||
  /api/attachments/{attachmentId}/save-to-tmp-dir:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [Attachments]
 | 
			
		||||
      summary: Save attachment to temporary directory
 | 
			
		||||
      operationId: saveAttachmentToTmpDir
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: attachmentId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Attachment saved to temporary directory
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  tmpPath:
 | 
			
		||||
                    type: string
 | 
			
		||||
                    description: Path to temporary file
 | 
			
		||||
                  success:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                    
 | 
			
		||||
  /api/attachments/{attachmentId}/upload-modified-file:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [Attachments]
 | 
			
		||||
      summary: Upload modified attachment file
 | 
			
		||||
      operationId: uploadModifiedAttachmentFile
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: attachmentId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          multipart/form-data:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                upload:
 | 
			
		||||
                  type: string
 | 
			
		||||
                  format: binary
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Modified file uploaded
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  success:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
 | 
			
		||||
  # Revisions
 | 
			
		||||
  /api/notes/{noteId}/revisions:
 | 
			
		||||
    get:
 | 
			
		||||
@ -2971,6 +3184,159 @@ paths:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Note'
 | 
			
		||||
                
 | 
			
		||||
  /api/special-notes/notes-for-month/{month}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Special Notes]
 | 
			
		||||
      summary: Get notes for specific month
 | 
			
		||||
      operationId: getNotesForMonth
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: month
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
            example: "2024-03"
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Notes for the month
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Note'
 | 
			
		||||
                  
 | 
			
		||||
  /api/special-notes/quarters/{quarter}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Special Notes]
 | 
			
		||||
      summary: Get quarter note
 | 
			
		||||
      operationId: getQuarter
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: quarter
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
            example: "2024-Q1"
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Quarter note
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Note'
 | 
			
		||||
                
 | 
			
		||||
  /api/special-notes/week-first-day/{date}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Special Notes]
 | 
			
		||||
      summary: Get first day of week for date
 | 
			
		||||
      operationId: getWeekFirstDay
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: date
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
            format: date
 | 
			
		||||
            example: "2024-03-15"
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: First day of week
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  date:
 | 
			
		||||
                    type: string
 | 
			
		||||
                    format: date
 | 
			
		||||
                    
 | 
			
		||||
  /api/special-notes/launchers/{noteId}/reset:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [Special Notes]
 | 
			
		||||
      summary: Reset launcher note
 | 
			
		||||
      operationId: resetLauncher
 | 
			
		||||
      parameters:
 | 
			
		||||
        - $ref: '#/components/parameters/noteId'
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Launcher reset
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Note'
 | 
			
		||||
                
 | 
			
		||||
  /api/special-notes/save-search-note:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [Special Notes]
 | 
			
		||||
      summary: Save search note
 | 
			
		||||
      operationId: saveSearchNote
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                query:
 | 
			
		||||
                  type: string
 | 
			
		||||
                title:
 | 
			
		||||
                  type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Search note saved
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Note'
 | 
			
		||||
                
 | 
			
		||||
  /api/special-notes/save-sql-console:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [Special Notes]
 | 
			
		||||
      summary: Save SQL console note
 | 
			
		||||
      operationId: saveSqlConsole
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                sql:
 | 
			
		||||
                  type: string
 | 
			
		||||
                title:
 | 
			
		||||
                  type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: SQL console saved
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Note'
 | 
			
		||||
                
 | 
			
		||||
  /api/special-notes/api-script-launcher:
 | 
			
		||||
    put:
 | 
			
		||||
      tags: [Special Notes]
 | 
			
		||||
      summary: Update API script launcher
 | 
			
		||||
      operationId: updateApiScriptLauncher
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                code:
 | 
			
		||||
                  type: string
 | 
			
		||||
                  description: Script code
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: API script launcher updated
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Note'
 | 
			
		||||
 | 
			
		||||
  # Maps
 | 
			
		||||
  /api/note-map/{noteId}/tree:
 | 
			
		||||
    post:
 | 
			
		||||
@ -3024,6 +3390,25 @@ paths:
 | 
			
		||||
                    title:
 | 
			
		||||
                      type: string
 | 
			
		||||
                      
 | 
			
		||||
  /api/note-map/{noteId}/backlink-count:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Visualization]
 | 
			
		||||
      summary: Get backlink count for note
 | 
			
		||||
      operationId: getBacklinkCount
 | 
			
		||||
      parameters:
 | 
			
		||||
        - $ref: '#/components/parameters/noteId'
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Backlink count
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  count:
 | 
			
		||||
                    type: integer
 | 
			
		||||
                    description: Number of backlinks to this note
 | 
			
		||||
                      
 | 
			
		||||
  /api/relation-map:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [Visualization]
 | 
			
		||||
@ -3119,6 +3504,27 @@ paths:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Note'
 | 
			
		||||
                
 | 
			
		||||
  /api/clipper/open/{noteId}:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [External]
 | 
			
		||||
      summary: Open note in clipper
 | 
			
		||||
      operationId: openNoteInClipper
 | 
			
		||||
      parameters:
 | 
			
		||||
        - $ref: '#/components/parameters/noteId'
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Note opened in clipper
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  success:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                  url:
 | 
			
		||||
                    type: string
 | 
			
		||||
                    description: URL to open in clipper
 | 
			
		||||
                
 | 
			
		||||
  /api/sender/login:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [External]
 | 
			
		||||
@ -3247,13 +3653,13 @@ paths:
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/ChatSession'
 | 
			
		||||
                  
 | 
			
		||||
  /api/llm/chat/{chatNoteId}:
 | 
			
		||||
  /api/llm/chat/{sessionId}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [LLM]
 | 
			
		||||
      summary: Get specific chat session
 | 
			
		||||
      operationId: getChatSession
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: chatNoteId
 | 
			
		||||
        - name: sessionId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
@ -3271,7 +3677,7 @@ paths:
 | 
			
		||||
      summary: Update chat session
 | 
			
		||||
      operationId: updateChatSession
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: chatNoteId
 | 
			
		||||
        - name: sessionId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
@ -3305,6 +3711,7 @@ paths:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/ChatSession'
 | 
			
		||||
                
 | 
			
		||||
  /api/llm/chat/{chatNoteId}:
 | 
			
		||||
    delete:
 | 
			
		||||
      tags: [LLM]
 | 
			
		||||
      summary: Delete chat session
 | 
			
		||||
@ -3325,7 +3732,7 @@ paths:
 | 
			
		||||
      summary: Send message to LLM
 | 
			
		||||
      operationId: sendChatMessage
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: chatNoteId
 | 
			
		||||
        - name: sessionId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
@ -3383,7 +3790,7 @@ paths:
 | 
			
		||||
      summary: Stream message to LLM
 | 
			
		||||
      operationId: streamChatMessage
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: chatNoteId
 | 
			
		||||
        - name: sessionId
 | 
			
		||||
          in: path
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
@ -3535,6 +3942,132 @@ paths:
 | 
			
		||||
                  enabled:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                    
 | 
			
		||||
  /api/totp/get:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Security]
 | 
			
		||||
      summary: Get TOTP configuration
 | 
			
		||||
      operationId: getTotpConfig
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: TOTP configuration
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  secret:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  qrCode:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  backupCodes:
 | 
			
		||||
                    type: array
 | 
			
		||||
                    items:
 | 
			
		||||
                      type: string
 | 
			
		||||
                      
 | 
			
		||||
  /api/totp_recovery/enabled:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Security]
 | 
			
		||||
      summary: Check if TOTP recovery is enabled
 | 
			
		||||
      operationId: isTotpRecoveryEnabled
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: TOTP recovery status
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  enabled:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                    
 | 
			
		||||
  /api/totp_recovery/generate:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Security]
 | 
			
		||||
      summary: Generate TOTP recovery codes
 | 
			
		||||
      operationId: generateTotpRecoveryCodes
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Generated recovery codes
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  codes:
 | 
			
		||||
                    type: array
 | 
			
		||||
                    items:
 | 
			
		||||
                      type: string
 | 
			
		||||
                      
 | 
			
		||||
  /api/totp_recovery/used:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Security]
 | 
			
		||||
      summary: Get used TOTP recovery codes
 | 
			
		||||
      operationId: getUsedTotpRecoveryCodes
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Used recovery codes
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  usedCodes:
 | 
			
		||||
                    type: array
 | 
			
		||||
                    items:
 | 
			
		||||
                      type: string
 | 
			
		||||
                      
 | 
			
		||||
  /api/totp_recovery/set:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [Security]
 | 
			
		||||
      summary: Set TOTP recovery codes
 | 
			
		||||
      operationId: setTotpRecoveryCodes
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                codes:
 | 
			
		||||
                  type: array
 | 
			
		||||
                  items:
 | 
			
		||||
                    type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Recovery codes set
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  success:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                    
 | 
			
		||||
  /api/totp_recovery/verify:
 | 
			
		||||
    post:
 | 
			
		||||
      tags: [Security]
 | 
			
		||||
      summary: Verify TOTP recovery code
 | 
			
		||||
      operationId: verifyTotpRecoveryCode
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                code:
 | 
			
		||||
                  type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Verification result
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  valid:
 | 
			
		||||
                    type: boolean
 | 
			
		||||
                    
 | 
			
		||||
  # ETAPI tokens
 | 
			
		||||
  /api/etapi-tokens:
 | 
			
		||||
    get:
 | 
			
		||||
@ -3674,6 +4207,28 @@ paths:
 | 
			
		||||
                    description:
 | 
			
		||||
                      type: string
 | 
			
		||||
                      
 | 
			
		||||
  /api/keyboard-shortcuts-for-notes:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Utilities]
 | 
			
		||||
      summary: Get keyboard shortcuts for notes
 | 
			
		||||
      operationId: getKeyboardShortcutsForNotes
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Keyboard shortcuts for notes
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  type: object
 | 
			
		||||
                  properties:
 | 
			
		||||
                    noteId:
 | 
			
		||||
                      type: string
 | 
			
		||||
                    shortcut:
 | 
			
		||||
                      type: string
 | 
			
		||||
                    title:
 | 
			
		||||
                      type: string
 | 
			
		||||
                      
 | 
			
		||||
  /api/fonts:
 | 
			
		||||
    get:
 | 
			
		||||
      tags: [Utilities]
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user