{
  "openapi": "3.0.4",
  "info": {
    "title": "EasyLife 365 Collaboration - SPO API",
    "termsOfService": "https://www.easylife365.cloud/legal/collaboration/terms/",
    "contact": {
      "name": "EasyLife 365 AG",
      "url": "https://www.easylife365.cloud/",
      "email": "support@easylife365.cloud"
    },
    "version": "v1"
  },
  "paths": {
    "/collab/v1/spo": {
      "post": {
        "tags": [
          "SPO"
        ],
        "summary": "Creates a new SharePoint Online site",
        "operationId": "CreateSPOSite",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EasyLifeSharePointRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EasyLifeSharePointRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EasyLifeSharePointRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EasyLifeSharePointResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EasyLifeSharePointResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EasyLifeSharePointResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "EasyLifeSharePointRequest": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 1000,
            "type": "string",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "nullable": true
          },
          "labelId": {
            "type": "string",
            "nullable": true
          },
          "owners": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "templateId": {
            "type": "string",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          },
          "language": {
            "$ref": "#/components/schemas/Language"
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EasyLifeSharePointResponse": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          },
          "approvalRequired": {
            "type": "boolean"
          },
          "tenantId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Language": {
        "enum": [
          0,
          1025,
          1026,
          1027,
          1028,
          1029,
          1030,
          1031,
          1032,
          1033,
          1035,
          1036,
          1037,
          1038,
          1040,
          1041,
          1042,
          1043,
          1044,
          1045,
          1046,
          1048,
          1049,
          1050,
          1051,
          1053,
          1054,
          1055,
          1057,
          1058,
          1060,
          1061,
          1062,
          1063,
          1066,
          1068,
          1069,
          1071,
          1081,
          1086,
          1087,
          1106,
          1110,
          1164,
          2052,
          2070,
          2074,
          2108,
          3082,
          5146,
          9242,
          10266
        ],
        "type": "integer",
        "format": "int32"
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      }
    }
  }
}