swagger: "2.0" info: title: Casdoor API description: Documentation of Casdoor API version: 1.0.0 contact: email: admin@casbin.org basePath: /api paths: /api/add-application: post: tags: - api description: add an application operationId: ApiController.AddApplication parameters: - in: body name: body description: The details of the application required: true schema: $ref: '#/definitions/object.Application' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/add-organization: post: tags: - api description: add organization operationId: ApiController.AddOrganization parameters: - in: body name: body description: The details of the organization required: true schema: $ref: '#/definitions/object.Organization' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/add-provider: post: tags: - api description: add provider operationId: ApiController.AddProvider parameters: - in: body name: body description: The details of the provider required: true schema: $ref: '#/definitions/object.Provider' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/add-token: post: tags: - api description: add token operationId: ApiController.AddToken parameters: - in: body name: body description: Details of the token required: true schema: $ref: '#/definitions/object.Token' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/add-user: post: tags: - api description: add user operationId: ApiController.AddUser parameters: - in: body name: body description: The details of the user required: true schema: $ref: '#/definitions/object.User' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/add-webhook: post: tags: - api description: add webhook operationId: ApiController.AddWebhook parameters: - in: body name: body description: The details of the webhook required: true schema: $ref: '#/definitions/object.Webhook' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/api/send-email: post: tags: - api description: This API is not for Casdoor frontend to call, it is for Casdoor SDKs. operationId: ApiController.SendEmail parameters: - in: query name: clientId description: The clientId of the application required: true type: string - in: query name: clientSecret description: The clientSecret of the application required: true type: string - in: body name: body description: Details of the email request required: true schema: $ref: '#/definitions/emailForm' responses: "200": description: object schema: $ref: '#/definitions/Response' /api/api/send-sms: post: tags: - api description: This API is not for Casdoor frontend to call, it is for Casdoor SDKs. operationId: ApiController.SendSms parameters: - in: query name: clientId description: The clientId of the application required: true type: string - in: query name: clientSecret description: The clientSecret of the application required: true type: string - in: body name: body description: Details of the sms request required: true schema: $ref: '#/definitions/smsForm' responses: "200": description: object schema: $ref: '#/definitions/Response' /api/delete-application: post: tags: - api description: delete an application operationId: ApiController.DeleteApplication parameters: - in: body name: body description: The details of the application required: true schema: $ref: '#/definitions/object.Application' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/delete-organization: post: tags: - api description: delete organization operationId: ApiController.DeleteOrganization parameters: - in: body name: body description: The details of the organization required: true schema: $ref: '#/definitions/object.Organization' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/delete-provider: post: tags: - api description: delete provider operationId: ApiController.DeleteProvider parameters: - in: body name: body description: The details of the provider required: true schema: $ref: '#/definitions/object.Provider' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/delete-token: post: tags: - api description: delete token operationId: ApiController.DeleteToken parameters: - in: body name: body description: Details of the token required: true schema: $ref: '#/definitions/object.Token' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/delete-user: post: tags: - api description: delete user operationId: ApiController.DeleteUser parameters: - in: body name: body description: The details of the user required: true schema: $ref: '#/definitions/object.User' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/delete-webhook: post: tags: - api description: delete webhook operationId: ApiController.DeleteWebhook parameters: - in: body name: body description: The details of the webhook required: true schema: $ref: '#/definitions/object.Webhook' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/get-account: get: tags: - api description: get the details of the current account operationId: ApiController.GetAccount responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/get-application: get: tags: - api description: get the detail of an application operationId: ApiController.GetApplication parameters: - in: query name: id description: The id of the application. required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.Application' /api/get-applications: get: tags: - api description: get all applications operationId: ApiController.GetApplications parameters: - in: query name: owner description: The owner of applications. required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.Application' /api/get-email-and-phone: post: tags: - api description: get email and phone by username operationId: ApiController.GetEmailAndPhone parameters: - in: formData name: username description: The username of the user required: true type: string - in: formData name: organization description: The organization of the user required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/get-global-users: get: tags: - api description: get global users operationId: ApiController.GetGlobalUsers responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.User' /api/get-organization: get: tags: - api description: get organization operationId: ApiController.GetOrganization parameters: - in: query name: id description: organization id required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.Organization' /api/get-organizations: get: tags: - api description: get organizations operationId: ApiController.GetOrganizations parameters: - in: query name: owner description: owner required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.Organization' /api/get-provider: get: tags: - api description: get provider operationId: ApiController.GetProvider parameters: - in: query name: id description: The id of the provider required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.Provider' /api/get-providers: get: tags: - api description: get providers operationId: ApiController.GetProviders parameters: - in: query name: owner description: The owner of providers required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.Provider' /api/get-records: get: tags: - api description: get all records operationId: ApiController.GetRecords parameters: - in: query name: pageSize description: The size of each page required: true type: string - in: query name: p description: The number of the page required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.Records' /api/get-records-filter: post: tags: - api description: get records by filter operationId: ApiController.GetRecordsByFilter parameters: - in: body name: body description: filter Record message required: true schema: $ref: '#/definitions/object.Records' responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.Records' /api/get-token: get: tags: - api description: get token operationId: ApiController.GetToken parameters: - in: query name: id description: The id of token required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.Token' /api/get-tokens: get: tags: - api description: get tokens operationId: ApiController.GetTokens parameters: - in: query name: owner description: The owner of tokens required: true type: string - in: query name: pageSize description: The size of each page required: true type: string - in: query name: p description: The number of the page required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.Token' /api/get-user: get: tags: - api description: get user operationId: ApiController.GetUser parameters: - in: query name: id description: The id of the user required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.User' /api/get-user-application: get: tags: - api description: get the detail of the user's application operationId: ApiController.GetUserApplication parameters: - in: query name: id description: The id of the user required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.Application' /api/get-users: get: tags: - api operationId: ApiController.GetUsers parameters: - in: query name: owner description: The owner of users required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.User' /api/get-webhook: get: tags: - api description: get webhook operationId: ApiController.GetWebhook parameters: - in: query name: id description: The id of the webhook required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.Webhook' /api/get-webhooks: get: tags: - api description: get webhooks operationId: ApiController.GetWebhooks parameters: - in: query name: owner description: The owner of webhooks required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.Webhook' /api/login: post: tags: - api description: login operationId: ApiController.Login parameters: - in: query name: oAuthParams description: oAuth parameters required: true type: string - in: body name: body description: Login information required: true schema: $ref: '#/definitions/RequestForm' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.api_controller.Response' /api/login/oauth/access_token: post: tags: - api description: get OAuth access token operationId: ApiController.GetOAuthToken parameters: - in: query name: grant_type description: OAuth grant type required: true type: string - in: query name: client_id description: OAuth client id required: true type: string - in: query name: client_secret description: OAuth client secret required: true type: string - in: query name: code description: OAuth code required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.TokenWrapper' /api/login/oauth/code: post: tags: - api description: get OAuth code operationId: ApiController.GetOAuthCode parameters: - in: query name: user_id description: The id of user required: true type: string - in: query name: client_id description: OAuth client id required: true type: string - in: query name: response_type description: OAuth response type required: true type: string - in: query name: redirect_uri description: OAuth redirect URI required: true type: string - in: query name: scope description: OAuth scope required: true type: string - in: query name: state description: OAuth state required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.TokenWrapper' /api/logout: post: tags: - api description: logout the current user operationId: ApiController.Logout responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/set-password: post: tags: - api description: set password operationId: ApiController.SetPassword parameters: - in: formData name: userOwner description: The owner of the user required: true type: string - in: formData name: userName description: The name of the user required: true type: string - in: formData name: oldPassword description: The old password of the user required: true type: string - in: formData name: newPassword description: The new password of the user required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/signup: post: tags: - api description: sign up a new user operationId: ApiController.Signup parameters: - in: formData name: username description: The username to sign up required: true type: string - in: formData name: password description: The password required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/update-application: get: tags: - api description: get application login operationId: ApiController.GetApplicationLogin parameters: - in: query name: clientId description: client id required: true type: string - in: query name: responseType description: response type required: true type: string - in: query name: redirectUri description: redirect uri required: true type: string - in: query name: scope description: scope required: true type: string - in: query name: state description: state required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.api_controller.Response' post: tags: - api description: update an application operationId: ApiController.UpdateApplication parameters: - in: query name: id description: The id of the application required: true type: string - in: body name: body description: The details of the application required: true schema: $ref: '#/definitions/object.Application' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/update-organization: post: tags: - api description: update organization operationId: ApiController.UpdateOrganization parameters: - in: query name: id description: The id of the organization required: true type: string - in: body name: body description: The details of the organization required: true schema: $ref: '#/definitions/object.Organization' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/update-provider: post: tags: - api description: update provider operationId: ApiController.UpdateProvider parameters: - in: query name: id description: The id of the provider required: true type: string - in: body name: body description: The details of the provider required: true schema: $ref: '#/definitions/object.Provider' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/update-token: post: tags: - api description: update token operationId: ApiController.UpdateToken parameters: - in: query name: id description: The id of token required: true type: string - in: body name: body description: Details of the token required: true schema: $ref: '#/definitions/object.Token' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/update-user: post: tags: - api description: update user operationId: ApiController.UpdateUser parameters: - in: query name: id description: The id of the user required: true type: string - in: body name: body description: The details of the user required: true schema: $ref: '#/definitions/object.User' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/update-webhook: post: tags: - api description: update webhook operationId: ApiController.UpdateWebhook parameters: - in: query name: id description: The id of the webhook required: true type: string - in: body name: body description: The details of the webhook required: true schema: $ref: '#/definitions/object.Webhook' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' definitions: 1773.0xc000093bf0.false: title: "false" type: object 1808.0xc000093c20.false: title: "false" type: object RequestForm: title: RequestForm type: object Response: title: Response type: object controllers.Response: title: Response type: object properties: data: $ref: '#/definitions/1773.0xc000093bf0.false' data2: $ref: '#/definitions/1808.0xc000093c20.false' msg: type: string status: type: string controllers.api_controller.Response: title: Response type: object properties: data: $ref: '#/definitions/1773.0xc000093bf0.false' data2: $ref: '#/definitions/1808.0xc000093c20.false' msg: type: string status: type: string emailForm: title: emailForm type: object object.Application: title: Application type: object properties: affiliationUrl: type: string clientId: type: string clientSecret: type: string createdTime: type: string description: type: string displayName: type: string enablePassword: type: boolean enableSignUp: type: boolean expireInHours: type: integer format: int64 forgetUrl: type: string homepageUrl: type: string logo: type: string name: type: string organization: type: string organizationObj: $ref: '#/definitions/object.Organization' owner: type: string providers: type: array items: $ref: '#/definitions/object.ProviderItem' redirectUris: type: array items: type: string signinHtml: type: string signinUrl: type: string signupHtml: type: string signupItems: type: array items: $ref: '#/definitions/object.SignupItem' signupUrl: type: string termsOfUse: type: string object.Organization: title: Organization type: object properties: createdTime: type: string defaultAvatar: type: string displayName: type: string enableSoftDeletion: type: boolean favicon: type: string masterPassword: type: string name: type: string owner: type: string passwordSalt: type: string passwordType: type: string phonePrefix: type: string websiteUrl: type: string object.Provider: title: Provider type: object properties: appId: type: string bucket: type: string category: type: string clientId: type: string clientSecret: type: string content: type: string createdTime: type: string displayName: type: string domain: type: string endpoint: type: string host: type: string method: type: string name: type: string owner: type: string port: type: integer format: int64 providerUrl: type: string regionId: type: string signName: type: string templateCode: type: string title: type: string type: type: string object.ProviderItem: title: ProviderItem type: object properties: alertType: type: string canSignIn: type: boolean canSignUp: type: boolean canUnlink: type: boolean name: type: string prompted: type: boolean provider: $ref: '#/definitions/object.Provider' object.Records: title: Records type: object object.SignupItem: title: SignupItem type: object properties: name: type: string prompted: type: boolean required: type: boolean rule: type: string visible: type: boolean object.Token: title: Token type: object properties: accessToken: type: string application: type: string code: type: string createdTime: type: string expiresIn: type: integer format: int64 name: type: string organization: type: string owner: type: string scope: type: string tokenType: type: string user: type: string object.TokenWrapper: title: TokenWrapper type: object properties: access_token: type: string expires_in: type: integer format: int64 scope: type: string token_type: type: string object.User: title: User type: object properties: address: type: array items: type: string affiliation: type: string avatar: type: string bio: type: string createdTime: type: string dingtalk: type: string displayName: type: string email: type: string facebook: type: string gitee: type: string github: type: string gitlab: type: string google: type: string hash: type: string homepage: type: string id: type: string isAdmin: type: boolean isDeleted: type: boolean isForbidden: type: boolean isGlobalAdmin: type: boolean isOnline: type: boolean language: type: string lark: type: string ldap: type: string linkedin: type: string location: type: string name: type: string owner: type: string password: type: string passwordSalt: type: string permanentAvatar: type: string phone: type: string preHash: type: string properties: additionalProperties: type: string qq: type: string ranking: type: integer format: int64 region: type: string score: type: integer format: int64 signupApplication: type: string tag: type: string title: type: string type: type: string updatedTime: type: string wechat: type: string wecom: type: string weibo: type: string object.Webhook: title: Webhook type: object properties: contentType: type: string createdTime: type: string events: type: array items: type: string name: type: string organization: type: string owner: type: string url: type: string smsForm: title: smsForm type: object