mirror of
				https://github.com/usememos/memos.git
				synced 2025-11-04 04:16:06 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			2341 lines
		
	
	
	
		
			61 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			2341 lines
		
	
	
	
		
			61 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
basePath: /
 | 
						|
definitions:
 | 
						|
  api_v1.CreateIdentityProviderRequest:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/api_v1.IdentityProviderConfig'
 | 
						|
      identifierFilter:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/api_v1.IdentityProviderType'
 | 
						|
    type: object
 | 
						|
  api_v1.CreateMemoRequest:
 | 
						|
    properties:
 | 
						|
      content:
 | 
						|
        type: string
 | 
						|
      createdTs:
 | 
						|
        type: integer
 | 
						|
      relationList:
 | 
						|
        items:
 | 
						|
          $ref: '#/definitions/api_v1.UpsertMemoRelationRequest'
 | 
						|
        type: array
 | 
						|
      resourceIdList:
 | 
						|
        description: Related fields
 | 
						|
        items:
 | 
						|
          type: integer
 | 
						|
        type: array
 | 
						|
      visibility:
 | 
						|
        allOf:
 | 
						|
        - $ref: '#/definitions/api_v1.Visibility'
 | 
						|
        description: Domain specific fields
 | 
						|
    type: object
 | 
						|
  api_v1.CreateResourceRequest:
 | 
						|
    properties:
 | 
						|
      externalLink:
 | 
						|
        type: string
 | 
						|
      filename:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.CreateStorageRequest:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/api_v1.StorageConfig'
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/api_v1.StorageType'
 | 
						|
    type: object
 | 
						|
  api_v1.CreateUserRequest:
 | 
						|
    properties:
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      nickname:
 | 
						|
        type: string
 | 
						|
      password:
 | 
						|
        type: string
 | 
						|
      role:
 | 
						|
        $ref: '#/definitions/api_v1.Role'
 | 
						|
      username:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.CustomizedProfile:
 | 
						|
    properties:
 | 
						|
      appearance:
 | 
						|
        description: Appearance is the server default appearance.
 | 
						|
        type: string
 | 
						|
      description:
 | 
						|
        description: Description is the server description.
 | 
						|
        type: string
 | 
						|
      externalUrl:
 | 
						|
        description: ExternalURL is the external url of server. e.g. https://usermemos.com
 | 
						|
        type: string
 | 
						|
      locale:
 | 
						|
        description: Locale is the server default locale.
 | 
						|
        type: string
 | 
						|
      logoUrl:
 | 
						|
        description: LogoURL is the url of logo image.
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        description: Name is the server name, default is `memos`
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.DeleteTagRequest:
 | 
						|
    properties:
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.FieldMapping:
 | 
						|
    properties:
 | 
						|
      displayName:
 | 
						|
        type: string
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      identifier:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.IdentityProvider:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/api_v1.IdentityProviderConfig'
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      identifierFilter:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/api_v1.IdentityProviderType'
 | 
						|
    type: object
 | 
						|
  api_v1.IdentityProviderConfig:
 | 
						|
    properties:
 | 
						|
      oauth2Config:
 | 
						|
        $ref: '#/definitions/api_v1.IdentityProviderOAuth2Config'
 | 
						|
    type: object
 | 
						|
  api_v1.IdentityProviderOAuth2Config:
 | 
						|
    properties:
 | 
						|
      authUrl:
 | 
						|
        type: string
 | 
						|
      clientId:
 | 
						|
        type: string
 | 
						|
      clientSecret:
 | 
						|
        type: string
 | 
						|
      fieldMapping:
 | 
						|
        $ref: '#/definitions/api_v1.FieldMapping'
 | 
						|
      scopes:
 | 
						|
        items:
 | 
						|
          type: string
 | 
						|
        type: array
 | 
						|
      tokenUrl:
 | 
						|
        type: string
 | 
						|
      userInfoUrl:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.IdentityProviderType:
 | 
						|
    enum:
 | 
						|
    - OAUTH2
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - IdentityProviderOAuth2Type
 | 
						|
  api_v1.MemoRelationType:
 | 
						|
    enum:
 | 
						|
    - REFERENCE
 | 
						|
    - COMMENT
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - MemoRelationReference
 | 
						|
    - MemoRelationComment
 | 
						|
  api_v1.PatchMemoRequest:
 | 
						|
    properties:
 | 
						|
      content:
 | 
						|
        description: Domain specific fields
 | 
						|
        type: string
 | 
						|
      createdTs:
 | 
						|
        description: Standard fields
 | 
						|
        type: integer
 | 
						|
      relationList:
 | 
						|
        items:
 | 
						|
          $ref: '#/definitions/api_v1.UpsertMemoRelationRequest'
 | 
						|
        type: array
 | 
						|
      resourceIdList:
 | 
						|
        description: Related fields
 | 
						|
        items:
 | 
						|
          type: integer
 | 
						|
        type: array
 | 
						|
      rowStatus:
 | 
						|
        $ref: '#/definitions/api_v1.RowStatus'
 | 
						|
      updatedTs:
 | 
						|
        type: integer
 | 
						|
      visibility:
 | 
						|
        $ref: '#/definitions/api_v1.Visibility'
 | 
						|
    type: object
 | 
						|
  api_v1.Role:
 | 
						|
    enum:
 | 
						|
    - HOST
 | 
						|
    - ADMIN
 | 
						|
    - USER
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - RoleHost
 | 
						|
    - RoleAdmin
 | 
						|
    - RoleUser
 | 
						|
  api_v1.RowStatus:
 | 
						|
    enum:
 | 
						|
    - NORMAL
 | 
						|
    - ARCHIVED
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - Normal
 | 
						|
    - Archived
 | 
						|
  api_v1.SSOSignIn:
 | 
						|
    properties:
 | 
						|
      code:
 | 
						|
        type: string
 | 
						|
      identityProviderId:
 | 
						|
        type: integer
 | 
						|
      redirectUri:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.SignIn:
 | 
						|
    properties:
 | 
						|
      password:
 | 
						|
        type: string
 | 
						|
      remember:
 | 
						|
        type: boolean
 | 
						|
      username:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.SignUp:
 | 
						|
    properties:
 | 
						|
      password:
 | 
						|
        type: string
 | 
						|
      username:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.StorageConfig:
 | 
						|
    properties:
 | 
						|
      s3Config:
 | 
						|
        $ref: '#/definitions/api_v1.StorageS3Config'
 | 
						|
    type: object
 | 
						|
  api_v1.StorageS3Config:
 | 
						|
    properties:
 | 
						|
      accessKey:
 | 
						|
        type: string
 | 
						|
      bucket:
 | 
						|
        type: string
 | 
						|
      endPoint:
 | 
						|
        type: string
 | 
						|
      path:
 | 
						|
        type: string
 | 
						|
      region:
 | 
						|
        type: string
 | 
						|
      secretKey:
 | 
						|
        type: string
 | 
						|
      urlPrefix:
 | 
						|
        type: string
 | 
						|
      urlSuffix:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.StorageType:
 | 
						|
    enum:
 | 
						|
    - S3
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - StorageS3
 | 
						|
  api_v1.SystemSetting:
 | 
						|
    properties:
 | 
						|
      description:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        $ref: '#/definitions/api_v1.SystemSettingName'
 | 
						|
      value:
 | 
						|
        description: Value is a JSON string with basic value.
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.SystemSettingName:
 | 
						|
    enum:
 | 
						|
    - server-id
 | 
						|
    - secret-session
 | 
						|
    - allow-signup
 | 
						|
    - disable-password-login
 | 
						|
    - disable-public-memos
 | 
						|
    - max-upload-size-mib
 | 
						|
    - additional-style
 | 
						|
    - additional-script
 | 
						|
    - customized-profile
 | 
						|
    - storage-service-id
 | 
						|
    - local-storage-path
 | 
						|
    - telegram-bot-token
 | 
						|
    - memo-display-with-updated-ts
 | 
						|
    - instance-url
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - SystemSettingServerIDName
 | 
						|
    - SystemSettingSecretSessionName
 | 
						|
    - SystemSettingAllowSignUpName
 | 
						|
    - SystemSettingDisablePasswordLoginName
 | 
						|
    - SystemSettingDisablePublicMemosName
 | 
						|
    - SystemSettingMaxUploadSizeMiBName
 | 
						|
    - SystemSettingAdditionalStyleName
 | 
						|
    - SystemSettingAdditionalScriptName
 | 
						|
    - SystemSettingCustomizedProfileName
 | 
						|
    - SystemSettingStorageServiceIDName
 | 
						|
    - SystemSettingLocalStoragePathName
 | 
						|
    - SystemSettingTelegramBotTokenName
 | 
						|
    - SystemSettingMemoDisplayWithUpdatedTsName
 | 
						|
    - SystemSettingInstanceURLName
 | 
						|
  api_v1.SystemStatus:
 | 
						|
    properties:
 | 
						|
      additionalScript:
 | 
						|
        description: Additional script.
 | 
						|
        type: string
 | 
						|
      additionalStyle:
 | 
						|
        description: Additional style.
 | 
						|
        type: string
 | 
						|
      allowSignUp:
 | 
						|
        description: |-
 | 
						|
          System settings
 | 
						|
          Allow sign up.
 | 
						|
        type: boolean
 | 
						|
      customizedProfile:
 | 
						|
        allOf:
 | 
						|
        - $ref: '#/definitions/api_v1.CustomizedProfile'
 | 
						|
        description: Customized server profile, including server name and external
 | 
						|
          url.
 | 
						|
      dbSize:
 | 
						|
        type: integer
 | 
						|
      disablePasswordLogin:
 | 
						|
        description: Disable password login.
 | 
						|
        type: boolean
 | 
						|
      disablePublicMemos:
 | 
						|
        description: Disable public memos.
 | 
						|
        type: boolean
 | 
						|
      host:
 | 
						|
        $ref: '#/definitions/api_v1.User'
 | 
						|
      localStoragePath:
 | 
						|
        description: Local storage path.
 | 
						|
        type: string
 | 
						|
      maxUploadSizeMiB:
 | 
						|
        description: Max upload size.
 | 
						|
        type: integer
 | 
						|
      memoDisplayWithUpdatedTs:
 | 
						|
        description: Memo display with updated timestamp.
 | 
						|
        type: boolean
 | 
						|
      profile:
 | 
						|
        $ref: '#/definitions/profile.Profile'
 | 
						|
      storageServiceId:
 | 
						|
        description: Storage service ID.
 | 
						|
        type: integer
 | 
						|
    type: object
 | 
						|
  api_v1.UpdateIdentityProviderRequest:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/api_v1.IdentityProviderConfig'
 | 
						|
      identifierFilter:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/api_v1.IdentityProviderType'
 | 
						|
    type: object
 | 
						|
  api_v1.UpdateResourceRequest:
 | 
						|
    properties:
 | 
						|
      filename:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.UpdateStorageRequest:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/api_v1.StorageConfig'
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/api_v1.StorageType'
 | 
						|
    type: object
 | 
						|
  api_v1.UpdateUserRequest:
 | 
						|
    properties:
 | 
						|
      avatarUrl:
 | 
						|
        type: string
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      nickname:
 | 
						|
        type: string
 | 
						|
      password:
 | 
						|
        type: string
 | 
						|
      rowStatus:
 | 
						|
        $ref: '#/definitions/api_v1.RowStatus'
 | 
						|
      username:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.UpsertMemoOrganizerRequest:
 | 
						|
    properties:
 | 
						|
      pinned:
 | 
						|
        type: boolean
 | 
						|
    type: object
 | 
						|
  api_v1.UpsertMemoRelationRequest:
 | 
						|
    properties:
 | 
						|
      relatedMemoId:
 | 
						|
        type: integer
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/api_v1.MemoRelationType'
 | 
						|
    type: object
 | 
						|
  api_v1.UpsertSystemSettingRequest:
 | 
						|
    properties:
 | 
						|
      description:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        $ref: '#/definitions/api_v1.SystemSettingName'
 | 
						|
      value:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.UpsertTagRequest:
 | 
						|
    properties:
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.User:
 | 
						|
    properties:
 | 
						|
      avatarUrl:
 | 
						|
        type: string
 | 
						|
      createdTs:
 | 
						|
        type: integer
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      nickname:
 | 
						|
        type: string
 | 
						|
      role:
 | 
						|
        $ref: '#/definitions/api_v1.Role'
 | 
						|
      rowStatus:
 | 
						|
        allOf:
 | 
						|
        - $ref: '#/definitions/api_v1.RowStatus'
 | 
						|
        description: Standard fields
 | 
						|
      updatedTs:
 | 
						|
        type: integer
 | 
						|
      username:
 | 
						|
        description: Domain specific fields
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  api_v1.Visibility:
 | 
						|
    enum:
 | 
						|
    - PUBLIC
 | 
						|
    - PROTECTED
 | 
						|
    - PRIVATE
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - Public
 | 
						|
    - Protected
 | 
						|
    - Private
 | 
						|
  github_com_usememos_memos_api_v1.CreateIdentityProviderRequest:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.IdentityProviderConfig'
 | 
						|
      identifierFilter:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.IdentityProviderType'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.CreateMemoRequest:
 | 
						|
    properties:
 | 
						|
      content:
 | 
						|
        type: string
 | 
						|
      createdTs:
 | 
						|
        type: integer
 | 
						|
      relationList:
 | 
						|
        items:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.UpsertMemoRelationRequest'
 | 
						|
        type: array
 | 
						|
      resourceIdList:
 | 
						|
        description: Related fields
 | 
						|
        items:
 | 
						|
          type: integer
 | 
						|
        type: array
 | 
						|
      visibility:
 | 
						|
        allOf:
 | 
						|
        - $ref: '#/definitions/github_com_usememos_memos_api_v1.Visibility'
 | 
						|
        description: Domain specific fields
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.CreateResourceRequest:
 | 
						|
    properties:
 | 
						|
      externalLink:
 | 
						|
        type: string
 | 
						|
      filename:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.CreateStorageRequest:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.StorageConfig'
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.StorageType'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.CreateUserRequest:
 | 
						|
    properties:
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      nickname:
 | 
						|
        type: string
 | 
						|
      password:
 | 
						|
        type: string
 | 
						|
      role:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.Role'
 | 
						|
      username:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.CustomizedProfile:
 | 
						|
    properties:
 | 
						|
      appearance:
 | 
						|
        description: Appearance is the server default appearance.
 | 
						|
        type: string
 | 
						|
      description:
 | 
						|
        description: Description is the server description.
 | 
						|
        type: string
 | 
						|
      externalUrl:
 | 
						|
        description: ExternalURL is the external url of server. e.g. https://usermemos.com
 | 
						|
        type: string
 | 
						|
      locale:
 | 
						|
        description: Locale is the server default locale.
 | 
						|
        type: string
 | 
						|
      logoUrl:
 | 
						|
        description: LogoURL is the url of logo image.
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        description: Name is the server name, default is `memos`
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.DeleteTagRequest:
 | 
						|
    properties:
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.FieldMapping:
 | 
						|
    properties:
 | 
						|
      displayName:
 | 
						|
        type: string
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      identifier:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.IdentityProvider:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.IdentityProviderConfig'
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      identifierFilter:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.IdentityProviderType'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.IdentityProviderConfig:
 | 
						|
    properties:
 | 
						|
      oauth2Config:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.IdentityProviderOAuth2Config'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.IdentityProviderOAuth2Config:
 | 
						|
    properties:
 | 
						|
      authUrl:
 | 
						|
        type: string
 | 
						|
      clientId:
 | 
						|
        type: string
 | 
						|
      clientSecret:
 | 
						|
        type: string
 | 
						|
      fieldMapping:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.FieldMapping'
 | 
						|
      scopes:
 | 
						|
        items:
 | 
						|
          type: string
 | 
						|
        type: array
 | 
						|
      tokenUrl:
 | 
						|
        type: string
 | 
						|
      userInfoUrl:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.IdentityProviderType:
 | 
						|
    enum:
 | 
						|
    - OAUTH2
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - IdentityProviderOAuth2Type
 | 
						|
  github_com_usememos_memos_api_v1.MemoRelationType:
 | 
						|
    enum:
 | 
						|
    - REFERENCE
 | 
						|
    - COMMENT
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - MemoRelationReference
 | 
						|
    - MemoRelationComment
 | 
						|
  github_com_usememos_memos_api_v1.PatchMemoRequest:
 | 
						|
    properties:
 | 
						|
      content:
 | 
						|
        description: Domain specific fields
 | 
						|
        type: string
 | 
						|
      createdTs:
 | 
						|
        description: Standard fields
 | 
						|
        type: integer
 | 
						|
      relationList:
 | 
						|
        items:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.UpsertMemoRelationRequest'
 | 
						|
        type: array
 | 
						|
      resourceIdList:
 | 
						|
        description: Related fields
 | 
						|
        items:
 | 
						|
          type: integer
 | 
						|
        type: array
 | 
						|
      rowStatus:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.RowStatus'
 | 
						|
      updatedTs:
 | 
						|
        type: integer
 | 
						|
      visibility:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.Visibility'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.Role:
 | 
						|
    enum:
 | 
						|
    - HOST
 | 
						|
    - ADMIN
 | 
						|
    - USER
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - RoleHost
 | 
						|
    - RoleAdmin
 | 
						|
    - RoleUser
 | 
						|
  github_com_usememos_memos_api_v1.RowStatus:
 | 
						|
    enum:
 | 
						|
    - NORMAL
 | 
						|
    - ARCHIVED
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - Normal
 | 
						|
    - Archived
 | 
						|
  github_com_usememos_memos_api_v1.SSOSignIn:
 | 
						|
    properties:
 | 
						|
      code:
 | 
						|
        type: string
 | 
						|
      identityProviderId:
 | 
						|
        type: integer
 | 
						|
      redirectUri:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.SignIn:
 | 
						|
    properties:
 | 
						|
      password:
 | 
						|
        type: string
 | 
						|
      remember:
 | 
						|
        type: boolean
 | 
						|
      username:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.SignUp:
 | 
						|
    properties:
 | 
						|
      password:
 | 
						|
        type: string
 | 
						|
      username:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.StorageConfig:
 | 
						|
    properties:
 | 
						|
      s3Config:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.StorageS3Config'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.StorageS3Config:
 | 
						|
    properties:
 | 
						|
      accessKey:
 | 
						|
        type: string
 | 
						|
      bucket:
 | 
						|
        type: string
 | 
						|
      endPoint:
 | 
						|
        type: string
 | 
						|
      path:
 | 
						|
        type: string
 | 
						|
      region:
 | 
						|
        type: string
 | 
						|
      secretKey:
 | 
						|
        type: string
 | 
						|
      urlPrefix:
 | 
						|
        type: string
 | 
						|
      urlSuffix:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.StorageType:
 | 
						|
    enum:
 | 
						|
    - S3
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - StorageS3
 | 
						|
  github_com_usememos_memos_api_v1.SystemSetting:
 | 
						|
    properties:
 | 
						|
      description:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.SystemSettingName'
 | 
						|
      value:
 | 
						|
        description: Value is a JSON string with basic value.
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.SystemSettingName:
 | 
						|
    enum:
 | 
						|
    - server-id
 | 
						|
    - secret-session
 | 
						|
    - allow-signup
 | 
						|
    - disable-password-login
 | 
						|
    - disable-public-memos
 | 
						|
    - max-upload-size-mib
 | 
						|
    - additional-style
 | 
						|
    - additional-script
 | 
						|
    - customized-profile
 | 
						|
    - storage-service-id
 | 
						|
    - local-storage-path
 | 
						|
    - telegram-bot-token
 | 
						|
    - memo-display-with-updated-ts
 | 
						|
    - instance-url
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - SystemSettingServerIDName
 | 
						|
    - SystemSettingSecretSessionName
 | 
						|
    - SystemSettingAllowSignUpName
 | 
						|
    - SystemSettingDisablePasswordLoginName
 | 
						|
    - SystemSettingDisablePublicMemosName
 | 
						|
    - SystemSettingMaxUploadSizeMiBName
 | 
						|
    - SystemSettingAdditionalStyleName
 | 
						|
    - SystemSettingAdditionalScriptName
 | 
						|
    - SystemSettingCustomizedProfileName
 | 
						|
    - SystemSettingStorageServiceIDName
 | 
						|
    - SystemSettingLocalStoragePathName
 | 
						|
    - SystemSettingTelegramBotTokenName
 | 
						|
    - SystemSettingMemoDisplayWithUpdatedTsName
 | 
						|
    - SystemSettingInstanceURLName
 | 
						|
  github_com_usememos_memos_api_v1.SystemStatus:
 | 
						|
    properties:
 | 
						|
      additionalScript:
 | 
						|
        description: Additional script.
 | 
						|
        type: string
 | 
						|
      additionalStyle:
 | 
						|
        description: Additional style.
 | 
						|
        type: string
 | 
						|
      allowSignUp:
 | 
						|
        description: |-
 | 
						|
          System settings
 | 
						|
          Allow sign up.
 | 
						|
        type: boolean
 | 
						|
      customizedProfile:
 | 
						|
        allOf:
 | 
						|
        - $ref: '#/definitions/github_com_usememos_memos_api_v1.CustomizedProfile'
 | 
						|
        description: Customized server profile, including server name and external
 | 
						|
          url.
 | 
						|
      dbSize:
 | 
						|
        type: integer
 | 
						|
      disablePasswordLogin:
 | 
						|
        description: Disable password login.
 | 
						|
        type: boolean
 | 
						|
      disablePublicMemos:
 | 
						|
        description: Disable public memos.
 | 
						|
        type: boolean
 | 
						|
      host:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.User'
 | 
						|
      localStoragePath:
 | 
						|
        description: Local storage path.
 | 
						|
        type: string
 | 
						|
      maxUploadSizeMiB:
 | 
						|
        description: Max upload size.
 | 
						|
        type: integer
 | 
						|
      memoDisplayWithUpdatedTs:
 | 
						|
        description: Memo display with updated timestamp.
 | 
						|
        type: boolean
 | 
						|
      profile:
 | 
						|
        $ref: '#/definitions/profile.Profile'
 | 
						|
      storageServiceId:
 | 
						|
        description: Storage service ID.
 | 
						|
        type: integer
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.UpdateIdentityProviderRequest:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.IdentityProviderConfig'
 | 
						|
      identifierFilter:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.IdentityProviderType'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.UpdateResourceRequest:
 | 
						|
    properties:
 | 
						|
      filename:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.UpdateStorageRequest:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.StorageConfig'
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.StorageType'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.UpdateUserRequest:
 | 
						|
    properties:
 | 
						|
      avatarUrl:
 | 
						|
        type: string
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      nickname:
 | 
						|
        type: string
 | 
						|
      password:
 | 
						|
        type: string
 | 
						|
      rowStatus:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.RowStatus'
 | 
						|
      username:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.UpsertMemoOrganizerRequest:
 | 
						|
    properties:
 | 
						|
      pinned:
 | 
						|
        type: boolean
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.UpsertMemoRelationRequest:
 | 
						|
    properties:
 | 
						|
      relatedMemoId:
 | 
						|
        type: integer
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.MemoRelationType'
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.UpsertSystemSettingRequest:
 | 
						|
    properties:
 | 
						|
      description:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.SystemSettingName'
 | 
						|
      value:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.UpsertTagRequest:
 | 
						|
    properties:
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.User:
 | 
						|
    properties:
 | 
						|
      avatarUrl:
 | 
						|
        type: string
 | 
						|
      createdTs:
 | 
						|
        type: integer
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      nickname:
 | 
						|
        type: string
 | 
						|
      role:
 | 
						|
        $ref: '#/definitions/github_com_usememos_memos_api_v1.Role'
 | 
						|
      rowStatus:
 | 
						|
        allOf:
 | 
						|
        - $ref: '#/definitions/github_com_usememos_memos_api_v1.RowStatus'
 | 
						|
        description: Standard fields
 | 
						|
      updatedTs:
 | 
						|
        type: integer
 | 
						|
      username:
 | 
						|
        description: Domain specific fields
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  github_com_usememos_memos_api_v1.Visibility:
 | 
						|
    enum:
 | 
						|
    - PUBLIC
 | 
						|
    - PROTECTED
 | 
						|
    - PRIVATE
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - Public
 | 
						|
    - Protected
 | 
						|
    - Private
 | 
						|
  profile.Profile:
 | 
						|
    properties:
 | 
						|
      mode:
 | 
						|
        description: Mode can be "prod" or "dev" or "demo"
 | 
						|
        type: string
 | 
						|
      version:
 | 
						|
        description: Version is the current version of server
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  store.FieldMapping:
 | 
						|
    properties:
 | 
						|
      displayName:
 | 
						|
        type: string
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      identifier:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  store.IdentityProvider:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        $ref: '#/definitions/store.IdentityProviderConfig'
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      identifierFilter:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/store.IdentityProviderType'
 | 
						|
    type: object
 | 
						|
  store.IdentityProviderConfig:
 | 
						|
    properties:
 | 
						|
      oauth2Config:
 | 
						|
        $ref: '#/definitions/store.IdentityProviderOAuth2Config'
 | 
						|
    type: object
 | 
						|
  store.IdentityProviderOAuth2Config:
 | 
						|
    properties:
 | 
						|
      authUrl:
 | 
						|
        type: string
 | 
						|
      clientId:
 | 
						|
        type: string
 | 
						|
      clientSecret:
 | 
						|
        type: string
 | 
						|
      fieldMapping:
 | 
						|
        $ref: '#/definitions/store.FieldMapping'
 | 
						|
      scopes:
 | 
						|
        items:
 | 
						|
          type: string
 | 
						|
        type: array
 | 
						|
      tokenUrl:
 | 
						|
        type: string
 | 
						|
      userInfoUrl:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  store.IdentityProviderType:
 | 
						|
    enum:
 | 
						|
    - OAUTH2
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - IdentityProviderOAuth2Type
 | 
						|
  store.Memo:
 | 
						|
    properties:
 | 
						|
      content:
 | 
						|
        description: Domain specific fields
 | 
						|
        type: string
 | 
						|
      createdTs:
 | 
						|
        type: integer
 | 
						|
      creatorID:
 | 
						|
        type: integer
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      pinned:
 | 
						|
        description: Composed fields
 | 
						|
        type: boolean
 | 
						|
      rowStatus:
 | 
						|
        allOf:
 | 
						|
        - $ref: '#/definitions/store.RowStatus'
 | 
						|
        description: Standard fields
 | 
						|
      updatedTs:
 | 
						|
        type: integer
 | 
						|
      visibility:
 | 
						|
        $ref: '#/definitions/store.Visibility'
 | 
						|
    type: object
 | 
						|
  store.MemoRelation:
 | 
						|
    properties:
 | 
						|
      memoID:
 | 
						|
        type: integer
 | 
						|
      relatedMemoID:
 | 
						|
        type: integer
 | 
						|
      type:
 | 
						|
        $ref: '#/definitions/store.MemoRelationType'
 | 
						|
    type: object
 | 
						|
  store.MemoRelationType:
 | 
						|
    enum:
 | 
						|
    - REFERENCE
 | 
						|
    - COMMENT
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - MemoRelationReference
 | 
						|
    - MemoRelationComment
 | 
						|
  store.Resource:
 | 
						|
    properties:
 | 
						|
      blob:
 | 
						|
        items:
 | 
						|
          type: integer
 | 
						|
        type: array
 | 
						|
      createdTs:
 | 
						|
        type: integer
 | 
						|
      creatorID:
 | 
						|
        description: Standard fields
 | 
						|
        type: integer
 | 
						|
      externalLink:
 | 
						|
        type: string
 | 
						|
      filename:
 | 
						|
        description: Domain specific fields
 | 
						|
        type: string
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      internalPath:
 | 
						|
        type: string
 | 
						|
      memoID:
 | 
						|
        type: integer
 | 
						|
      size:
 | 
						|
        type: integer
 | 
						|
      type:
 | 
						|
        type: string
 | 
						|
      updatedTs:
 | 
						|
        type: integer
 | 
						|
    type: object
 | 
						|
  store.Role:
 | 
						|
    enum:
 | 
						|
    - HOST
 | 
						|
    - ADMIN
 | 
						|
    - USER
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - RoleHost
 | 
						|
    - RoleAdmin
 | 
						|
    - RoleUser
 | 
						|
  store.RowStatus:
 | 
						|
    enum:
 | 
						|
    - NORMAL
 | 
						|
    - ARCHIVED
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - Normal
 | 
						|
    - Archived
 | 
						|
  store.Storage:
 | 
						|
    properties:
 | 
						|
      config:
 | 
						|
        type: string
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      type:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  store.SystemSetting:
 | 
						|
    properties:
 | 
						|
      description:
 | 
						|
        type: string
 | 
						|
      name:
 | 
						|
        type: string
 | 
						|
      value:
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  store.User:
 | 
						|
    properties:
 | 
						|
      avatarURL:
 | 
						|
        type: string
 | 
						|
      createdTs:
 | 
						|
        type: integer
 | 
						|
      email:
 | 
						|
        type: string
 | 
						|
      id:
 | 
						|
        type: integer
 | 
						|
      nickname:
 | 
						|
        type: string
 | 
						|
      passwordHash:
 | 
						|
        type: string
 | 
						|
      role:
 | 
						|
        $ref: '#/definitions/store.Role'
 | 
						|
      rowStatus:
 | 
						|
        allOf:
 | 
						|
        - $ref: '#/definitions/store.RowStatus'
 | 
						|
        description: Standard fields
 | 
						|
      updatedTs:
 | 
						|
        type: integer
 | 
						|
      username:
 | 
						|
        description: Domain specific fields
 | 
						|
        type: string
 | 
						|
    type: object
 | 
						|
  store.Visibility:
 | 
						|
    enum:
 | 
						|
    - PUBLIC
 | 
						|
    - PROTECTED
 | 
						|
    - PRIVATE
 | 
						|
    type: string
 | 
						|
    x-enum-varnames:
 | 
						|
    - Public
 | 
						|
    - Protected
 | 
						|
    - Private
 | 
						|
externalDocs:
 | 
						|
  description: Find out more about Memos.
 | 
						|
  url: https://usememos.com/
 | 
						|
info:
 | 
						|
  contact:
 | 
						|
    name: API Support
 | 
						|
    url: https://github.com/orgs/usememos/discussions
 | 
						|
  description: A privacy-first, lightweight note-taking service.
 | 
						|
  license:
 | 
						|
    name: MIT License
 | 
						|
    url: https://github.com/usememos/memos/blob/main/LICENSE
 | 
						|
  title: memos API
 | 
						|
  version: "1.0"
 | 
						|
paths:
 | 
						|
  /api/v1/auth/signin:
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Sign-in object
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.SignIn'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: User information
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.User'
 | 
						|
        "400":
 | 
						|
          description: Malformatted signin request
 | 
						|
        "401":
 | 
						|
          description: Password login is deactivated | Incorrect login credentials,
 | 
						|
            please try again
 | 
						|
        "403":
 | 
						|
          description: User has been archived with username %s
 | 
						|
        "500":
 | 
						|
          description: Failed to find system setting | Failed to unmarshal system
 | 
						|
            setting | Incorrect login credentials, please try again | Failed to generate
 | 
						|
            tokens | Failed to create activity
 | 
						|
      summary: Sign-in to memos.
 | 
						|
      tags:
 | 
						|
      - auth
 | 
						|
  /api/v1/auth/signin/sso:
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: SSO sign-in object
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.SSOSignIn'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: User information
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.User'
 | 
						|
        "400":
 | 
						|
          description: Malformatted signin request
 | 
						|
        "401":
 | 
						|
          description: Access denied, identifier does not match the filter.
 | 
						|
        "403":
 | 
						|
          description: User has been archived with username {username}
 | 
						|
        "404":
 | 
						|
          description: Identity provider not found
 | 
						|
        "500":
 | 
						|
          description: Failed to find identity provider | Failed to create identity
 | 
						|
            provider instance | Failed to exchange token | Failed to get user info
 | 
						|
            | Failed to compile identifier filter | Incorrect login credentials, please
 | 
						|
            try again | Failed to generate random password | Failed to generate password
 | 
						|
            hash | Failed to create user | Failed to generate tokens | Failed to create
 | 
						|
            activity
 | 
						|
      summary: Sign-in to memos using SSO.
 | 
						|
      tags:
 | 
						|
      - auth
 | 
						|
  /api/v1/auth/signout:
 | 
						|
    post:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Sign-out success
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
      summary: Sign-out from memos.
 | 
						|
      tags:
 | 
						|
      - auth
 | 
						|
  /api/v1/auth/signup:
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Sign-up object
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.SignUp'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: User information
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.User'
 | 
						|
        "400":
 | 
						|
          description: Malformatted signup request | Failed to find users
 | 
						|
        "401":
 | 
						|
          description: signup is disabled
 | 
						|
        "403":
 | 
						|
          description: Forbidden
 | 
						|
        "404":
 | 
						|
          description: Not found
 | 
						|
        "500":
 | 
						|
          description: Failed to find system setting | Failed to unmarshal system
 | 
						|
            setting allow signup | Failed to generate password hash | Failed to create
 | 
						|
            user | Failed to generate tokens | Failed to create activity
 | 
						|
      summary: Sign-up to memos.
 | 
						|
      tags:
 | 
						|
      - auth
 | 
						|
  /api/v1/idp:
 | 
						|
    get:
 | 
						|
      description: '*clientSecret is only available for host user'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: List of available identity providers
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/github_com_usememos_memos_api_v1.IdentityProvider'
 | 
						|
            type: array
 | 
						|
        "500":
 | 
						|
          description: Failed to find identity provider list | Failed to find user
 | 
						|
      summary: Get a list of identity providers
 | 
						|
      tags:
 | 
						|
      - idp
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Identity provider information
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.CreateIdentityProviderRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Identity provider information
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.IdentityProvider'
 | 
						|
        "400":
 | 
						|
          description: Malformatted post identity provider request
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to create identity provider
 | 
						|
      summary: Create Identity Provider
 | 
						|
      tags:
 | 
						|
      - idp
 | 
						|
  /api/v1/idp/{idpId}:
 | 
						|
    delete:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Identity Provider ID
 | 
						|
        in: path
 | 
						|
        name: idpId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Identity Provider deleted
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Malformatted patch identity provider
 | 
						|
            request'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to patch identity provider
 | 
						|
      summary: Delete an identity provider by ID
 | 
						|
      tags:
 | 
						|
      - idp
 | 
						|
    get:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Identity provider ID
 | 
						|
        in: path
 | 
						|
        name: idpId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Requested identity provider
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.IdentityProvider'
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "404":
 | 
						|
          description: Identity provider not found
 | 
						|
        "500":
 | 
						|
          description: Failed to find identity provider list | Failed to find user
 | 
						|
      summary: Get an identity provider by ID
 | 
						|
      tags:
 | 
						|
      - idp
 | 
						|
    patch:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Identity Provider ID
 | 
						|
        in: path
 | 
						|
        name: idpId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      - description: Patched identity provider information
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.UpdateIdentityProviderRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Patched identity provider
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.IdentityProvider'
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Malformatted patch identity provider
 | 
						|
            request'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to patch identity provider
 | 
						|
      summary: Update an identity provider by ID
 | 
						|
      tags:
 | 
						|
      - idp
 | 
						|
  /api/v1/memo:
 | 
						|
    get:
 | 
						|
      parameters:
 | 
						|
      - description: Creator ID
 | 
						|
        in: query
 | 
						|
        name: creatorId
 | 
						|
        type: integer
 | 
						|
      - description: Creator username
 | 
						|
        in: query
 | 
						|
        name: creatorUsername
 | 
						|
        type: string
 | 
						|
      - description: Row status
 | 
						|
        enum:
 | 
						|
        - NORMAL
 | 
						|
        - ARCHIVED
 | 
						|
        in: query
 | 
						|
        name: rowStatus
 | 
						|
        type: string
 | 
						|
      - description: Pinned
 | 
						|
        in: query
 | 
						|
        name: pinned
 | 
						|
        type: boolean
 | 
						|
      - description: 'Search for tag. Do not append #'
 | 
						|
        in: query
 | 
						|
        name: tag
 | 
						|
        type: string
 | 
						|
      - description: Search for content
 | 
						|
        in: query
 | 
						|
        name: content
 | 
						|
        type: string
 | 
						|
      - description: Limit
 | 
						|
        in: query
 | 
						|
        name: limit
 | 
						|
        type: integer
 | 
						|
      - description: Offset
 | 
						|
        in: query
 | 
						|
        name: offset
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/store.Memo'
 | 
						|
            type: array
 | 
						|
        "400":
 | 
						|
          description: Missing user to find memo
 | 
						|
        "500":
 | 
						|
          description: Failed to get memo display with updated ts setting value |
 | 
						|
            Failed to fetch memo list | Failed to compose memo response
 | 
						|
      summary: Get a list of memos matching optional filters
 | 
						|
      tags:
 | 
						|
      - memo
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      description: |-
 | 
						|
        Visibility can be PUBLIC, PROTECTED or PRIVATE
 | 
						|
        *You should omit fields to use their default values
 | 
						|
      parameters:
 | 
						|
      - description: Request object.
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.CreateMemoRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Stored memo
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.Memo'
 | 
						|
        "400":
 | 
						|
          description: Malformatted post memo request | Content size overflow, up
 | 
						|
            to 1MB
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "404":
 | 
						|
          description: 'User not found | Memo not found: %d'
 | 
						|
        "500":
 | 
						|
          description: Failed to find user setting | Failed to unmarshal user setting
 | 
						|
            value | Failed to find system setting | Failed to unmarshal system setting
 | 
						|
            | Failed to find user | Failed to create memo | Failed to create activity
 | 
						|
            | Failed to upsert memo resource | Failed to upsert memo relation | Failed
 | 
						|
            to compose memo | Failed to compose memo response
 | 
						|
      summary: Create a memo
 | 
						|
      tags:
 | 
						|
      - memo
 | 
						|
  /api/v1/memo/{memoId}:
 | 
						|
    delete:
 | 
						|
      parameters:
 | 
						|
      - description: Memo ID to delete
 | 
						|
        in: path
 | 
						|
        name: memoId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo deleted
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "404":
 | 
						|
          description: 'Memo not found: %d'
 | 
						|
        "500":
 | 
						|
          description: 'Failed to find memo | Failed to delete memo ID: %v'
 | 
						|
      summary: Delete memo by ID
 | 
						|
      tags:
 | 
						|
      - memo
 | 
						|
    get:
 | 
						|
      parameters:
 | 
						|
      - description: Memo ID
 | 
						|
        in: path
 | 
						|
        name: memoId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/store.Memo'
 | 
						|
            type: array
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "403":
 | 
						|
          description: this memo is private only | this memo is protected, missing
 | 
						|
            user in session
 | 
						|
        "404":
 | 
						|
          description: 'Memo not found: %d'
 | 
						|
        "500":
 | 
						|
          description: 'Failed to find memo by ID: %v | Failed to compose memo response'
 | 
						|
      summary: Get memo by ID
 | 
						|
      tags:
 | 
						|
      - memo
 | 
						|
    patch:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      description: |-
 | 
						|
        Visibility can be PUBLIC, PROTECTED or PRIVATE
 | 
						|
        *You should omit fields to use their default values
 | 
						|
      parameters:
 | 
						|
      - description: ID of memo to update
 | 
						|
        in: path
 | 
						|
        name: memoId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      - description: Patched object.
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.PatchMemoRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Stored memo
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.Memo'
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Malformatted patch memo request |
 | 
						|
            Content size overflow, up to 1MB'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "404":
 | 
						|
          description: 'Memo not found: %d'
 | 
						|
        "500":
 | 
						|
          description: Failed to find memo | Failed to patch memo | Failed to upsert
 | 
						|
            memo resource | Failed to delete memo resource | Failed to compose memo
 | 
						|
            response
 | 
						|
      summary: Update a memo
 | 
						|
      tags:
 | 
						|
      - memo
 | 
						|
  /api/v1/memo/{memoId}/organizer:
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: ID of memo to organize
 | 
						|
        in: path
 | 
						|
        name: memoId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      - description: Memo organizer object
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.UpsertMemoOrganizerRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo information
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.Memo'
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Malformatted post memo organizer
 | 
						|
            request'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "404":
 | 
						|
          description: 'Memo not found: %v'
 | 
						|
        "500":
 | 
						|
          description: 'Failed to find memo | Failed to upsert memo organizer | Failed
 | 
						|
            to find memo by ID: %v | Failed to compose memo response'
 | 
						|
      summary: Organize memo (pin/unpin)
 | 
						|
      tags:
 | 
						|
      - memo-organizer
 | 
						|
  /api/v1/memo/{memoId}/relation:
 | 
						|
    get:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: ID of memo to find relations
 | 
						|
        in: path
 | 
						|
        name: memoId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo relation information list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/store.MemoRelation'
 | 
						|
            type: array
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s'
 | 
						|
        "500":
 | 
						|
          description: Failed to list memo relations
 | 
						|
      summary: Get a list of Memo Relations
 | 
						|
      tags:
 | 
						|
      - memo-relation
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      description: Create a relation between two memos
 | 
						|
      parameters:
 | 
						|
      - description: ID of memo to relate
 | 
						|
        in: path
 | 
						|
        name: memoId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      - description: Memo relation object
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/api_v1.UpsertMemoRelationRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo relation information
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.MemoRelation'
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Malformatted post memo relation request'
 | 
						|
        "500":
 | 
						|
          description: Failed to upsert memo relation
 | 
						|
      summary: Create Memo Relation
 | 
						|
      tags:
 | 
						|
      - memo-relation
 | 
						|
  /api/v1/memo/{memoId}/relation/{relatedMemoId}/type/{relationType}:
 | 
						|
    delete:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      description: Removes a relation between two memos
 | 
						|
      parameters:
 | 
						|
      - description: ID of memo to find relations
 | 
						|
        in: path
 | 
						|
        name: memoId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      - description: ID of memo to remove relation to
 | 
						|
        in: path
 | 
						|
        name: relatedMemoId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      - description: Type of relation to remove
 | 
						|
        enum:
 | 
						|
        - REFERENCE
 | 
						|
        - COMMENT
 | 
						|
        in: path
 | 
						|
        name: relationType
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo relation deleted
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
        "400":
 | 
						|
          description: 'Memo ID is not a number: %s | Related memo ID is not a number:
 | 
						|
            %s'
 | 
						|
        "500":
 | 
						|
          description: Failed to delete memo relation
 | 
						|
      summary: Delete a Memo Relation
 | 
						|
      tags:
 | 
						|
      - memo-relation
 | 
						|
  /api/v1/memo/all:
 | 
						|
    get:
 | 
						|
      description: |-
 | 
						|
        This should also list protected memos if the user is logged in
 | 
						|
        Authentication is optional
 | 
						|
      parameters:
 | 
						|
      - description: Limit
 | 
						|
        in: query
 | 
						|
        name: limit
 | 
						|
        type: integer
 | 
						|
      - description: Offset
 | 
						|
        in: query
 | 
						|
        name: offset
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/store.Memo'
 | 
						|
            type: array
 | 
						|
        "500":
 | 
						|
          description: Failed to get memo display with updated ts setting value |
 | 
						|
            Failed to fetch all memo list | Failed to compose memo response
 | 
						|
      summary: Get a list of public memos matching optional filters
 | 
						|
      tags:
 | 
						|
      - memo
 | 
						|
  /api/v1/memo/stats:
 | 
						|
    get:
 | 
						|
      description: Used to generate the heatmap
 | 
						|
      parameters:
 | 
						|
      - description: Creator ID
 | 
						|
        in: query
 | 
						|
        name: creatorId
 | 
						|
        type: integer
 | 
						|
      - description: Creator username
 | 
						|
        in: query
 | 
						|
        name: creatorUsername
 | 
						|
        type: string
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Memo createdTs list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              type: integer
 | 
						|
            type: array
 | 
						|
        "400":
 | 
						|
          description: Missing user id to find memo
 | 
						|
        "500":
 | 
						|
          description: Failed to get memo display with updated ts setting value |
 | 
						|
            Failed to find memo list | Failed to compose memo response
 | 
						|
      summary: Get memo stats by creator ID or username
 | 
						|
      tags:
 | 
						|
      - memo
 | 
						|
  /api/v1/ping:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: If succeed to ping the system
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
      summary: Ping the system
 | 
						|
      tags:
 | 
						|
      - system
 | 
						|
  /api/v1/resource:
 | 
						|
    get:
 | 
						|
      parameters:
 | 
						|
      - description: Limit
 | 
						|
        in: query
 | 
						|
        name: limit
 | 
						|
        type: integer
 | 
						|
      - description: Offset
 | 
						|
        in: query
 | 
						|
        name: offset
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Resource list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/store.Resource'
 | 
						|
            type: array
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "500":
 | 
						|
          description: Failed to fetch resource list
 | 
						|
      summary: Get a list of resources
 | 
						|
      tags:
 | 
						|
      - resource
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Request object.
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.CreateResourceRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Created resource
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.Resource'
 | 
						|
        "400":
 | 
						|
          description: Malformatted post resource request | Invalid external link
 | 
						|
            | Invalid external link scheme | Failed to request %s | Failed to read
 | 
						|
            %s | Failed to read mime from %s
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "500":
 | 
						|
          description: Failed to save resource | Failed to create resource | Failed
 | 
						|
            to create activity
 | 
						|
      summary: Create resource
 | 
						|
      tags:
 | 
						|
      - resource
 | 
						|
  /api/v1/resource/{resourceId}:
 | 
						|
    delete:
 | 
						|
      parameters:
 | 
						|
      - description: Resource ID
 | 
						|
        in: path
 | 
						|
        name: resourceId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Resource deleted
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "404":
 | 
						|
          description: 'Resource not found: %d'
 | 
						|
        "500":
 | 
						|
          description: Failed to find resource | Failed to delete resource
 | 
						|
      summary: Delete a resource
 | 
						|
      tags:
 | 
						|
      - resource
 | 
						|
    patch:
 | 
						|
      parameters:
 | 
						|
      - description: Resource ID
 | 
						|
        in: path
 | 
						|
        name: resourceId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      - description: Patch resource request
 | 
						|
        in: body
 | 
						|
        name: patch
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.UpdateResourceRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Updated resource
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.Resource'
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Malformatted patch resource request'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "404":
 | 
						|
          description: 'Resource not found: %d'
 | 
						|
        "500":
 | 
						|
          description: Failed to find resource | Failed to patch resource
 | 
						|
      summary: Update a resource
 | 
						|
      tags:
 | 
						|
      - resource
 | 
						|
  /api/v1/resource/blob:
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - multipart/form-data
 | 
						|
      parameters:
 | 
						|
      - description: File to upload
 | 
						|
        in: formData
 | 
						|
        name: file
 | 
						|
        required: true
 | 
						|
        type: file
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Created resource
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.Resource'
 | 
						|
        "400":
 | 
						|
          description: Upload file not found | File size exceeds allowed limit of
 | 
						|
            %d MiB | Failed to parse upload data
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "500":
 | 
						|
          description: Failed to get uploading file | Failed to open file | Failed
 | 
						|
            to save resource | Failed to create resource | Failed to create activity
 | 
						|
      summary: Upload resource
 | 
						|
      tags:
 | 
						|
      - resource
 | 
						|
  /api/v1/status:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: System GetSystemStatus
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/github_com_usememos_memos_api_v1.SystemStatus'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find host user | Failed to find system setting list
 | 
						|
            | Failed to unmarshal system setting customized profile value
 | 
						|
      summary: Get system GetSystemStatus
 | 
						|
      tags:
 | 
						|
      - system
 | 
						|
  /api/v1/storage:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: List of storages
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/store.Storage'
 | 
						|
            type: array
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to convert storage
 | 
						|
      summary: Get a list of storages
 | 
						|
      tags:
 | 
						|
      - storage
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Request object.
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.CreateStorageRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Created storage
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.Storage'
 | 
						|
        "400":
 | 
						|
          description: Malformatted post storage request
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to create storage | Failed to
 | 
						|
            convert storage
 | 
						|
      summary: Create storage
 | 
						|
      tags:
 | 
						|
      - storage
 | 
						|
  /api/v1/storage/{storageId}:
 | 
						|
    delete:
 | 
						|
      parameters:
 | 
						|
      - description: Storage ID
 | 
						|
        in: path
 | 
						|
        name: storageId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Storage deleted
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Storage service %d is using'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to find storage | Failed to unmarshal
 | 
						|
            storage service id | Failed to delete storage
 | 
						|
      summary: Delete a storage
 | 
						|
      tags:
 | 
						|
      - storage
 | 
						|
    patch:
 | 
						|
      parameters:
 | 
						|
      - description: Storage ID
 | 
						|
        in: path
 | 
						|
        name: storageId
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      - description: Patch request
 | 
						|
        in: body
 | 
						|
        name: patch
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.UpdateStorageRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Updated resource
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.Storage'
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Malformatted patch storage request
 | 
						|
            | Malformatted post storage request'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to patch storage | Failed to convert
 | 
						|
            storage
 | 
						|
      summary: Update a storage
 | 
						|
      tags:
 | 
						|
      - storage
 | 
						|
  /api/v1/system/setting:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: System setting list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/api_v1.SystemSetting'
 | 
						|
            type: array
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to find system setting list
 | 
						|
      summary: Get a list of system settings
 | 
						|
      tags:
 | 
						|
      - system-setting
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Request object.
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/api_v1.UpsertSystemSettingRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Created system setting
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.SystemSetting'
 | 
						|
        "400":
 | 
						|
          description: Malformatted post system setting request | invalid system setting
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "403":
 | 
						|
          description: Cannot disable passwords if no SSO identity provider is configured.
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to upsert system setting
 | 
						|
      summary: Create system setting
 | 
						|
      tags:
 | 
						|
      - system-setting
 | 
						|
  /api/v1/system/vacuum:
 | 
						|
    post:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Database vacuumed
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
        "401":
 | 
						|
          description: Missing user in session | Unauthorized
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to ExecVacuum database
 | 
						|
      summary: Vacuum the database
 | 
						|
      tags:
 | 
						|
      - system
 | 
						|
  /api/v1/tag:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Tag list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              type: string
 | 
						|
            type: array
 | 
						|
        "400":
 | 
						|
          description: Missing user id to find tag
 | 
						|
        "500":
 | 
						|
          description: Failed to find tag list
 | 
						|
      summary: Get a list of tags
 | 
						|
      tags:
 | 
						|
      - tag
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Request object.
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.UpsertTagRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Created tag name
 | 
						|
          schema:
 | 
						|
            type: string
 | 
						|
        "400":
 | 
						|
          description: Malformatted post tag request | Tag name shouldn't be empty
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "500":
 | 
						|
          description: Failed to upsert tag | Failed to create activity
 | 
						|
      summary: Create a tag
 | 
						|
      tags:
 | 
						|
      - tag
 | 
						|
  /api/v1/tag/delete:
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Request object.
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.DeleteTagRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Tag deleted
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
        "400":
 | 
						|
          description: Malformatted post tag request | Tag name shouldn't be empty
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "500":
 | 
						|
          description: 'Failed to delete tag name: %v'
 | 
						|
      summary: Delete a tag
 | 
						|
      tags:
 | 
						|
      - tag
 | 
						|
  /api/v1/tag/suggestion:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Tag list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              type: string
 | 
						|
            type: array
 | 
						|
        "400":
 | 
						|
          description: Missing user session
 | 
						|
        "500":
 | 
						|
          description: Failed to find memo list | Failed to find tag list
 | 
						|
      summary: Get a list of tags suggested from other memos contents
 | 
						|
      tags:
 | 
						|
      - tag
 | 
						|
  /api/v1/user:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: User list
 | 
						|
          schema:
 | 
						|
            items:
 | 
						|
              $ref: '#/definitions/store.User'
 | 
						|
            type: array
 | 
						|
        "500":
 | 
						|
          description: Failed to fetch user list
 | 
						|
      summary: Get a list of users
 | 
						|
      tags:
 | 
						|
      - user
 | 
						|
    post:
 | 
						|
      consumes:
 | 
						|
      - application/json
 | 
						|
      parameters:
 | 
						|
      - description: Request object
 | 
						|
        in: body
 | 
						|
        name: body
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.CreateUserRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Created user
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.User'
 | 
						|
        "400":
 | 
						|
          description: Malformatted post user request | Invalid user create format
 | 
						|
        "401":
 | 
						|
          description: Missing auth session | Unauthorized to create user
 | 
						|
        "403":
 | 
						|
          description: Could not create host user
 | 
						|
        "500":
 | 
						|
          description: Failed to find user by id | Failed to generate password hash
 | 
						|
            | Failed to create user | Failed to create activity
 | 
						|
      summary: Create a user
 | 
						|
      tags:
 | 
						|
      - user
 | 
						|
  /api/v1/user/{id}:
 | 
						|
    delete:
 | 
						|
      parameters:
 | 
						|
      - description: User ID
 | 
						|
        in: path
 | 
						|
        name: id
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: User deleted
 | 
						|
          schema:
 | 
						|
            type: boolean
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Current session user not found with
 | 
						|
            ID: %d'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "403":
 | 
						|
          description: Unauthorized to delete user
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to delete user
 | 
						|
      summary: Delete a user
 | 
						|
      tags:
 | 
						|
      - user
 | 
						|
    get:
 | 
						|
      parameters:
 | 
						|
      - description: User ID
 | 
						|
        in: path
 | 
						|
        name: id
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Requested user
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.User'
 | 
						|
        "400":
 | 
						|
          description: Malformatted user id
 | 
						|
        "404":
 | 
						|
          description: User not found
 | 
						|
        "500":
 | 
						|
          description: Failed to find user
 | 
						|
      summary: Get user by id
 | 
						|
      tags:
 | 
						|
      - user
 | 
						|
    patch:
 | 
						|
      parameters:
 | 
						|
      - description: User ID
 | 
						|
        in: path
 | 
						|
        name: id
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
      - description: Patch request
 | 
						|
        in: body
 | 
						|
        name: patch
 | 
						|
        required: true
 | 
						|
        schema:
 | 
						|
          $ref: '#/definitions/github_com_usememos_memos_api_v1.UpdateUserRequest'
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Updated user
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.User'
 | 
						|
        "400":
 | 
						|
          description: 'ID is not a number: %s | Current session user not found with
 | 
						|
            ID: %d | Malformatted patch user request | Invalid update user request'
 | 
						|
        "401":
 | 
						|
          description: Missing user in session
 | 
						|
        "403":
 | 
						|
          description: Unauthorized to update user
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to generate password hash | Failed
 | 
						|
            to patch user | Failed to find userSettingList
 | 
						|
      summary: Update a user
 | 
						|
      tags:
 | 
						|
      - user
 | 
						|
  /api/v1/user/me:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Current user
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.User'
 | 
						|
        "401":
 | 
						|
          description: Missing auth session
 | 
						|
        "500":
 | 
						|
          description: Failed to find user | Failed to find userSettingList
 | 
						|
      summary: Get current user
 | 
						|
      tags:
 | 
						|
      - user
 | 
						|
  /api/v1/user/name/{username}:
 | 
						|
    get:
 | 
						|
      parameters:
 | 
						|
      - description: Username
 | 
						|
        in: path
 | 
						|
        name: username
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
      produces:
 | 
						|
      - application/json
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Requested user
 | 
						|
          schema:
 | 
						|
            $ref: '#/definitions/store.User'
 | 
						|
        "404":
 | 
						|
          description: User not found
 | 
						|
        "500":
 | 
						|
          description: Failed to find user
 | 
						|
      summary: Get user by username
 | 
						|
      tags:
 | 
						|
      - user
 | 
						|
  /explore/rss.xml:
 | 
						|
    get:
 | 
						|
      produces:
 | 
						|
      - text/xml
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: RSS
 | 
						|
        "500":
 | 
						|
          description: Failed to get system customized profile | Failed to find memo
 | 
						|
            list | Failed to generate rss
 | 
						|
      summary: Get RSS
 | 
						|
      tags:
 | 
						|
      - rss
 | 
						|
  /o/get/GetImage:
 | 
						|
    get:
 | 
						|
      parameters:
 | 
						|
      - description: Image url
 | 
						|
        in: query
 | 
						|
        name: url
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
      produces:
 | 
						|
      - GetImage/*
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: Image
 | 
						|
        "400":
 | 
						|
          description: 'Missing GetImage url | Wrong url | Failed to get GetImage
 | 
						|
            url: %s'
 | 
						|
        "500":
 | 
						|
          description: Failed to write GetImage blob
 | 
						|
      summary: Get GetImage from URL
 | 
						|
      tags:
 | 
						|
      - image-url
 | 
						|
  /u/{id}/rss.xml:
 | 
						|
    get:
 | 
						|
      parameters:
 | 
						|
      - description: User ID
 | 
						|
        in: path
 | 
						|
        name: id
 | 
						|
        required: true
 | 
						|
        type: integer
 | 
						|
      produces:
 | 
						|
      - text/xml
 | 
						|
      responses:
 | 
						|
        "200":
 | 
						|
          description: RSS
 | 
						|
        "400":
 | 
						|
          description: User id is not a number
 | 
						|
        "500":
 | 
						|
          description: Failed to get system customized profile | Failed to find memo
 | 
						|
            list | Failed to generate rss
 | 
						|
      summary: Get RSS for a user
 | 
						|
      tags:
 | 
						|
      - rss
 | 
						|
swagger: "2.0"
 |