---
openapi: "3.0.3"
info:
  title: "Modeling ReST API"
  license:
    name: "© null-null null. All rights reserved"
  version: "0.0.1-PR-541-797-SNAPSHOT"
servers:
- url: "/"
tags:
- name: "models"
  description: "Retrieve and manage models"
- name: "projects"
  description: "Retrieve and manage project definitions"
paths:
  /v1/model-types:
    get:
      tags:
      - "models"
      summary: "List model types"
      description: "Get the list of available model types."
      operationId: "getModelTypesUsingGET"
      parameters:
      - name: "maxItems"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "integer"
          format: "int32"
      - name: "skipCount"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "integer"
          format: "int32"
      - name: "sort"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListResponseContentOfModelType"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/ListResponseContentOfModelType"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/models:
    get:
      tags:
      - "models"
      summary: "List all the models that are not coupled to a project"
      description: "Get the models that has GLOBAL as scope. Minimal information for\
        \ each model is returned."
      operationId: "getGlobalModelsUsingGET"
      parameters:
      - name: "maxItems"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "integer"
          format: "int32"
      - name: "skipCount"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "integer"
          format: "int32"
      - name: "sort"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "string"
      - name: "type"
        in: "query"
        description: "The type of the model to filter"
        required: true
        style: "form"
        schema:
          type: "string"
      - name: "includeOrphans"
        in: "query"
        description: "If true, then models with no relationship to any project are\
          \ retrieved regardless of their scope"
        required: false
        style: "form"
        schema:
          type: "boolean"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/ListResponseContentOfModel"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    post:
      tags:
      - "models"
      summary: "Create new model that does note belong to a project"
      description: "Create a new model with no relationship to other projects"
      operationId: "createModelWithoutProjectUsingPOST"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ModelReq"
      responses:
        "201":
          description: "Created"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/models/{modelId}:
    get:
      tags:
      - "models"
      summary: "Get metadata information for a model"
      operationId: "getModelUsingGET"
      parameters:
      - name: "modelId"
        in: "path"
        description: "The id of the model to retrieve"
        required: true
        style: "simple"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    put:
      tags:
      - "models"
      summary: "Update model metadata"
      description: "Update the details of a model."
      operationId: "updateModelUsingPUT"
      parameters:
      - name: "modelId"
        in: "path"
        description: "The id of the model to update"
        required: true
        style: "simple"
        schema:
          type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ModelReq"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
        "201":
          description: "Created"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    delete:
      tags:
      - "models"
      summary: "Delete model"
      operationId: "deleteModelUsingDELETE"
      parameters:
      - name: "modelId"
        in: "path"
        description: "The id of the model to delete"
        required: true
        style: "simple"
        schema:
          type: "string"
      responses:
        "204":
          description: "No Content"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
      security:
      - oauth: []
  /v1/models/{modelId}/content:
    get:
      tags:
      - "models"
      summary: "Get the model content"
      description: "Retrieve the content of the model for the identifier <b>modelId</b>\
        \ with the content type corresponding to the model type (xml for process models\
        \ and json for the others).<br>For <b>Accept: image/svg+xml</b> request header,\
        \ the svg image corresponding to the model content will be retrieved."
      operationId: "getModelContentUsingGET"
      parameters:
      - name: "modelId"
        in: "path"
        description: "The id of the model to get the content"
        required: true
        style: "simple"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    put:
      tags:
      - "models"
      summary: "Update model content"
      description: "Update the content of the model from file."
      operationId: "updateModelContentUsingPUT"
      parameters:
      - name: "modelId"
        in: "path"
        description: "The id of the model to update"
        required: true
        style: "simple"
        schema:
          type: "string"
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - "file"
              type: "object"
              properties:
                file:
                  type: "string"
                  description: "The file containing the model content"
                  format: "binary"
      responses:
        "201":
          description: "Created"
        "204":
          description: "No Content"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/models/{modelId}/export:
    get:
      tags:
      - "models"
      summary: "Export a model definition as file"
      description: "Allows to download a file containing a model metadata along with\
        \ the model content."
      operationId: "exportModelUsingGET"
      parameters:
      - name: "modelId"
        in: "path"
        description: "The id of the model to export"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "attachment"
        in: "query"
        description: "<b>true</b> value enables a web browser to download the file\
          \ as an attachment.<br> <b>false</b> means that a web browser may preview\
          \ the file in a new tab or window, but not download the file."
        required: false
        style: "form"
        schema:
          type: "boolean"
      responses:
        "200":
          description: "OK"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/models/{modelId}/validate:
    post:
      tags:
      - "models"
      summary: "Validate a model content"
      description: "Allows to validate the model content without save it."
      operationId: "validateModelUsingPOST"
      parameters:
      - name: "modelId"
        in: "path"
        description: "The id of the model to validate the content for"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "projectId"
        in: "query"
        description: "The id of the project in whose context the model is going to\
          \ be validated"
        required: false
        style: "form"
        schema:
          type: "string"
      - name: "validateUsage"
        in: "query"
        description: "The model is going to be validated and checked used in other\
          \ model"
        required: false
        style: "form"
        schema:
          type: "boolean"
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - "file"
              type: "object"
              properties:
                file:
                  type: "string"
                  description: "The file containing the model definition to validate"
                  format: "binary"
      responses:
        "201":
          description: "Created"
        "204":
          description: "No Content"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/models/{modelId}/validate/extensions:
    post:
      tags:
      - "models"
      summary: "Validate model extensions"
      description: "Allows to validate the model extensions without save them."
      operationId: "validateModelExtensionsUsingPOST"
      parameters:
      - name: "modelId"
        in: "path"
        description: "The id of the model to validate the content for"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "projectId"
        in: "query"
        description: "The id of the project in whose context the model is going to\
          \ be validated"
        required: false
        style: "form"
        schema:
          type: "string"
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - "file"
              type: "object"
              properties:
                file:
                  type: "string"
                  description: "The file containing the model extensions to validate"
                  format: "binary"
      responses:
        "201":
          description: "Created"
        "204":
          description: "No Content"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/projects/{projectId}/models:
    get:
      tags:
      - "models"
      summary: "List models for an project"
      description: "Get the models associated with an project. Minimal information\
        \ for each model is returned."
      operationId: "getModelsUsingGET"
      parameters:
      - name: "maxItems"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "integer"
          format: "int32"
      - name: "projectId"
        in: "path"
        description: "The id of the project to get the models for"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "skipCount"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "integer"
          format: "int32"
      - name: "sort"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "string"
      - name: "type"
        in: "query"
        description: "The type of the model to filter"
        required: true
        style: "form"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/ListResponseContentOfModel"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    post:
      tags:
      - "models"
      summary: "Create new model belonging to an project"
      description: "Create a new model related to an existing project"
      operationId: "createModelUsingPOST"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to associate the new model with"
        required: true
        style: "simple"
        schema:
          type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ModelReq"
      responses:
        "201":
          description: "Created"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/projects/{projectId}/models/import:
    post:
      tags:
      - "models"
      summary: "Import a model from file"
      description: "Allows a file to be uploaded containing a model definition."
      operationId: "importModelUsingPOST"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to associate the new model with"
        required: true
        style: "simple"
        schema:
          type: "string"
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - "file"
              - "type"
              type: "object"
              properties:
                file:
                  type: "string"
                  description: "The file containing the model definition"
                  format: "binary"
                type:
                  type: "string"
                  description: "The type of the model to be imported"
            encoding:
              type:
                contentType: "text/plain"
      responses:
        "201":
          description: "Created"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/projects/{projectId}/models/{modelId}:
    put:
      tags:
      - "models"
      summary: "Add or update the relationship between an existing model, and the\
        \ project"
      description: "Get the model associated with the project updated. Minimal information\
        \ for the model is returned."
      operationId: "putProjectModelRelationshipUsingPUT"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to associate the model with"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "modelId"
        in: "path"
        description: "The id of the model to associate the project with"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "scope"
        in: "query"
        description: "Scope to update the model if needed (optional)"
        required: false
        style: "form"
        schema:
          type: "string"
      - name: "force"
        in: "query"
        description: "If the scope of the model has restrictions on the number of\
          \ projects that a model can belong to, remove the other relationships of\
          \ the model with other projects"
        required: false
        style: "form"
        schema:
          type: "boolean"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
        "201":
          description: "Created"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    delete:
      tags:
      - "models"
      summary: "Delete the relationship between an existing model, and the project"
      description: "Get the model associated with the project updated. Minimal information\
        \ for the model is returned."
      operationId: "deleteProjectModelRelationshipUsingDELETE"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project of the relationship to delete"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "modelId"
        in: "path"
        description: "The id of the model of the relationship to delete"
        required: true
        style: "simple"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfModel"
        "204":
          description: "No Content"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
      security:
      - oauth: []
  /v1/schemas/{modelType}:
    get:
      tags:
      - "models"
      summary: "Get validation schema for model type"
      description: "Get the content of the schema used to validate the given model\
        \ type."
      operationId: "getSchemaUsingGET"
      parameters:
      - name: "modelType"
        in: "path"
        description: "modelType"
        required: true
        style: "simple"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                type: "string"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/projects:
    get:
      tags:
      - "projects"
      summary: "List projects"
      description: "Get the list of available projects. Minimal information for each\
        \ project is returned."
      operationId: "getProjectsUsingGET"
      parameters:
      - name: "maxItems"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "integer"
          format: "int32"
      - name: "skipCount"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "integer"
          format: "int32"
      - name: "sort"
        in: "query"
        required: false
        style: "form"
        schema:
          type: "string"
      - name: "name"
        in: "query"
        description: "The name or part of the name to filter projects"
        required: false
        style: "form"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListResponseContentOfProject"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/ListResponseContentOfProject"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    post:
      tags:
      - "projects"
      summary: "Create new project"
      operationId: "createProjectUsingPOST"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Project"
      responses:
        "201":
          description: "Created"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/projects/import:
    post:
      tags:
      - "projects"
      summary: "Import an project as zip file"
      description: "Allows a zip file to be uploaded containing an project definition\
        \ and any number of included models."
      operationId: "importProjectUsingPOST"
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - "file"
              type: "object"
              properties:
                file:
                  type: "string"
                  description: "The file containing the zipped project"
                  format: "binary"
                name:
                  type: "string"
                  description: "The name of the project that will override the current\
                    \ name of the project in the zip file"
            encoding:
              name:
                contentType: "text/plain"
      responses:
        "201":
          description: "Created"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/projects/{projectId}:
    get:
      tags:
      - "projects"
      summary: "Get project"
      operationId: "getProjectUsingGET"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to retrieve"
        required: true
        style: "simple"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    put:
      tags:
      - "projects"
      summary: "Update project details"
      operationId: "updateProjectUsingPUT"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to update"
        required: true
        style: "simple"
        schema:
          type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Project"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
        "201":
          description: "Created"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
    delete:
      tags:
      - "projects"
      summary: "Delete project"
      operationId: "deleteProjectUsingDELETE"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to delete"
        required: true
        style: "simple"
        schema:
          type: "string"
      responses:
        "204":
          description: "No Content"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
      security:
      - oauth: []
  /v1/projects/{projectId}/copy:
    post:
      tags:
      - "projects"
      summary: "Copy an project as a new project with chosen name"
      description: "This will create a new project with chosen name containing the\
        \ project folder and all related models.<br>"
      operationId: "copyProjectUsingPOST"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to copy"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "name"
        in: "query"
        description: "The name of the project that will replace the original name\
          \ of the project"
        required: true
        style: "form"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
            application/hal+json:
              schema:
                $ref: "#/components/schemas/EntryResponseContentOfProject"
        "201":
          description: "Created"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/projects/{projectId}/export:
    get:
      tags:
      - "projects"
      summary: "Export an project as zip file"
      description: "This will create and download the zip containing the project folder\
        \ and all related models.<br>"
      operationId: "exportProjectUsingGET"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to export"
        required: true
        style: "simple"
        schema:
          type: "string"
      - name: "attachment"
        in: "query"
        description: "<b>true</b> value enables a web browser to download the file\
          \ as an attachment.<br> <b>false</b> means that a web browser may preview\
          \ the file in a new tab or window, but not download the file."
        required: false
        style: "form"
        schema:
          type: "boolean"
      responses:
        "200":
          description: "OK"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
  /v1/projects/{projectId}/validate:
    get:
      tags:
      - "projects"
      summary: "Validate an project by id"
      operationId: "validateProjectUsingGET"
      parameters:
      - name: "projectId"
        in: "path"
        description: "The id of the project to validate"
        required: true
        style: "simple"
        schema:
          type: "string"
      responses:
        "200":
          description: "OK"
        "401":
          description: "Unauthorized"
        "403":
          description: "Forbidden"
        "404":
          description: "Not Found"
      security:
      - oauth: []
components:
  schemas:
    EntriesResponseContentOfModel:
      title: "EntriesResponseContentOfModel"
      type: "object"
      properties:
        entries:
          type: "array"
          items:
            $ref: "#/components/schemas/EntryResponseContentOfModel"
        pagination:
          $ref: "#/components/schemas/PaginationMetadata"
    EntriesResponseContentOfModelType:
      title: "EntriesResponseContentOfModelType"
      type: "object"
      properties:
        entries:
          type: "array"
          items:
            $ref: "#/components/schemas/EntryResponseContentOfModelType"
        pagination:
          $ref: "#/components/schemas/PaginationMetadata"
    EntriesResponseContentOfProject:
      title: "EntriesResponseContentOfProject"
      type: "object"
      properties:
        entries:
          type: "array"
          items:
            $ref: "#/components/schemas/EntryResponseContentOfProject"
        pagination:
          $ref: "#/components/schemas/PaginationMetadata"
    EntryResponseContentOfModel:
      title: "EntryResponseContentOfModel"
      type: "object"
      properties:
        entry:
          $ref: "#/components/schemas/ModelRes"
    EntryResponseContentOfModelType:
      title: "EntryResponseContentOfModelType"
      type: "object"
      properties:
        entry:
          $ref: "#/components/schemas/ModelType"
    EntryResponseContentOfProject:
      title: "EntryResponseContentOfProject"
      type: "object"
      properties:
        entry:
          $ref: "#/components/schemas/Project"
    ListResponseContentOfModel:
      title: "ListResponseContentOfModel"
      type: "object"
      properties:
        list:
          $ref: "#/components/schemas/EntriesResponseContentOfModel"
    ListResponseContentOfModelType:
      title: "ListResponseContentOfModelType"
      type: "object"
      properties:
        list:
          $ref: "#/components/schemas/EntriesResponseContentOfModelType"
    ListResponseContentOfProject:
      title: "ListResponseContentOfProject"
      type: "object"
      properties:
        list:
          $ref: "#/components/schemas/EntriesResponseContentOfProject"
    ModelReq:
      title: "ModelReq"
      type: "object"
      properties:
        category:
          type: "string"
        content:
          type: "string"
          format: "byte"
        contentType:
          type: "string"
        createdBy:
          type: "object"
        creationDate:
          type: "string"
          format: "date-time"
        extensions:
          type: "object"
        id:
          type: "string"
        lastModifiedBy:
          type: "object"
        lastModifiedDate:
          type: "string"
          format: "date-time"
        name:
          type: "string"
        scope:
          type: "string"
          enum:
          - "GLOBAL"
          - "PROJECT"
        template:
          type: "string"
        type:
          type: "string"
    ModelRes:
      title: "ModelRes"
      type: "object"
      properties:
        category:
          type: "string"
        content:
          type: "string"
          format: "byte"
        contentType:
          type: "string"
        createdBy:
          type: "object"
        creationDate:
          type: "string"
          format: "date-time"
        extensions:
          type: "object"
        id:
          type: "string"
        lastModifiedBy:
          type: "object"
        lastModifiedDate:
          type: "string"
          format: "date-time"
        name:
          type: "string"
        projects:
          uniqueItems: true
          type: "array"
          items:
            $ref: "#/components/schemas/Project"
        scope:
          type: "string"
          enum:
          - "GLOBAL"
          - "PROJECT"
        template:
          type: "string"
        type:
          type: "string"
        version:
          type: "string"
    ModelType:
      title: "ModelType"
      type: "object"
      properties:
        allowedContentFileExtension:
          type: "array"
          items:
            type: "string"
        contentFileExtension:
          type: "string"
        extensionsFileSuffix:
          type: "string"
        folderName:
          type: "string"
        name:
          type: "string"
    PaginationMetadata:
      title: "PaginationMetadata"
      type: "object"
      properties:
        count:
          type: "integer"
          format: "int64"
        hasMoreItems:
          type: "boolean"
        maxItems:
          type: "integer"
          format: "int64"
        skipCount:
          type: "integer"
          format: "int64"
        totalItems:
          type: "integer"
          format: "int64"
    Project:
      title: "Project"
      type: "object"
      properties:
        createdBy:
          type: "object"
        creationDate:
          type: "string"
          format: "date-time"
        description:
          type: "string"
        id:
          type: "string"
        lastModifiedBy:
          type: "object"
        lastModifiedDate:
          type: "string"
          format: "date-time"
        name:
          type: "string"
        version:
          type: "string"
  securitySchemes:
    oauth:
      type: "oauth2"
      description: "Authorizing with SSO"
      flows:
        implicit:
          authorizationUrl: "http://localhost:8180/auth/realms/activiti/protocol/openid-connect/auth"
          scopes: {}
extensions:
  service-url-prefix: ""
