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/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/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-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-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 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-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/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 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/logout: post: tags: - api description: logout the current user operationId: ApiController.Logout responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /api/register: post: tags: - api description: register a new user operationId: ApiController.Register parameters: - in: formData name: username description: The username to register 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/upload-avatar: post: tags: - api description: register a new user operationId: ApiController.UploadAvatar parameters: - in: formData name: avatarfile description: The base64 encode of avatarfile 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' definitions: 1471.0xc0003bd890.false: title: "false" type: object RequestForm: title: RequestForm type: object controllers.Response: title: Response type: object properties: data: $ref: '#/definitions/1471.0xc0003bd890.false' msg: type: string status: type: string controllers.api_controller.Response: title: Response type: object properties: data: $ref: '#/definitions/1471.0xc0003bd890.false' msg: type: string status: type: string object.Application: title: Application type: object properties: 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 homepageUrl: type: string logo: type: string name: type: string organization: type: string owner: type: string providerObjs: type: array items: $ref: '#/definitions/object.Provider' providers: type: array items: type: string redirectUris: type: array items: type: string object.Organization: title: Organization type: object properties: createdTime: type: string displayName: type: string name: type: string owner: type: string websiteUrl: type: string object.Provider: title: Provider type: object properties: clientId: type: string clientSecret: type: string createdTime: type: string displayName: type: string name: type: string owner: type: string providerUrl: type: string type: type: string 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 owner: type: string scope: type: string tokenType: 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: affiliation: type: string avatar: type: string createdTime: type: string displayName: type: string email: type: string github: type: string google: type: string id: type: string isAdmin: type: boolean isGlobalAdmin: type: boolean name: type: string owner: type: string password: type: string passwordType: type: string phone: type: string qq: type: string tag: type: string