{
  "openapi": "3.1.0",
  "info": {
    "title": "Provisioning API",
    "version": "1.15.0",
    "description": "This application enables a set of APIs that external systems can use to manage users, groups and apps.",
    "license": {
      "name": "agpl",
      "identifier": " AGPL-3.0"
    }
  },
  "servers": [
    {
      "url": "https://{hostname}:{port}",
      "variables": {
        "hostname": {
          "default": "localhost"
        },
        "port": {
          "default": "8080"
        }
      }
    }
  ],
  "security": [
    {
      "basic_auth": []
    }
  ],
  "tags": [
    {
      "name": "provisioning_api"
    }
  ],
  "components": {
    "schemas": {
      "OCSMeta": {
        "type": "object",
        "required": [
          "status",
          "statuscode"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "statuscode": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "totalitems": {
            "type": "string"
          },
          "itemsperpage": {
            "type": "string"
          }
        }
      },
      "ProvisioningApiUser": {
        "type": "object",
        "required": [
          "ocs"
        ],
        "properties": {
          "ocs": {
            "type": "object",
            "required": [
              "meta",
              "data"
            ],
            "properties": {
              "meta": {
                "$ref": "#/components/schemas/OCSMeta"
              },
              "data": {
                "$ref": "#/components/schemas/ProvisioningApiUserDetails"
              }
            }
          }
        }
      },
      "ProvisioningApiUserDetails": {
        "type": "object",
        "required": [
          "storageLocation",
          "id",
          "lastLogin",
          "backend",
          "subadmin",
          "quota",
          "avatarScope",
          "emailScope",
          "additional_mail",
          "additional_mailScope",
          "displaynameScope",
          "phone",
          "phoneScope",
          "address",
          "addressScope",
          "website",
          "websiteScope",
          "twitter",
          "twitterScope",
          "organisation",
          "organisationScope",
          "role",
          "roleScope",
          "headline",
          "headlineScope",
          "biography",
          "biographyScope",
          "profile_enabled",
          "profile_enabledScope",
          "groups",
          "language",
          "locale",
          "backendCapabilities"
        ],
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "storageLocation": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "lastLogin": {
            "type": "integer"
          },
          "backend": {
            "type": "string"
          },
          "subadmin": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "quota": {
            "type": "object",
            "required": [
              "free",
              "used",
              "total",
              "relative",
              "quota"
            ],
            "properties": {
              "free": {
                "type": "integer"
              },
              "used": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "relative": {
                "type": "number"
              },
              "quota": {
                "type": "integer"
              }
            }
          },
          "avatarScope": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "emailScope": {
            "type": "string"
          },
          "additional_mail": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additional_mailScope": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "displayname": {
            "type": "string"
          },
          "displaynameScope": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "phoneScope": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "addressScope": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "websiteScope": {
            "type": "string"
          },
          "twitter": {
            "type": "string"
          },
          "twitterScope": {
            "type": "string"
          },
          "organisation": {
            "type": "string"
          },
          "organisationScope": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "roleScope": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "headlineScope": {
            "type": "string"
          },
          "biography": {
            "type": "string"
          },
          "biographyScope": {
            "type": "string"
          },
          "profile_enabled": {
            "type": "string"
          },
          "profile_enabledScope": {
            "type": "string"
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "language": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "notify_email": {
            "type": "string"
          },
          "backendCapabilities": {
            "type": "object",
            "required": [
              "setDisplayName",
              "setPassword"
            ],
            "properties": {
              "setDisplayName": {
                "type": "boolean"
              },
              "setPassword": {
                "type": "boolean"
              }
            }
          },
          "display-name": {
            "type": "string"
          }
        }
      }
    },
    "securitySchemes": {
      "basic_auth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "paths": {
    "/ocs/v2.php/cloud/user": {
      "get": {
        "operationId": "get-current-user",
        "tags": [
          "provisioning_api"
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProvisioningApiUser"
                }
              }
            }
          }
        }
      }
    },
    "/ocs/v2.php/cloud/users/{userId}": {
      "parameters": [
        {
          "name": "userId",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "operationId": "get-user",
        "tags": [
          "provisioning_api"
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProvisioningApiUser"
                }
              }
            }
          }
        }
      }
    }
  }
}