openapi: 3.0.1
info:
  title: data-governance-kit
  description: REST API Contract for Data Governance KIT
  version: 0.0.1-SNAPSHOT
servers:
- url: https://dgk.cx.dev.dih-cloud.com
  description: Generated server url
paths:
  /v2/assets:
    put:
      tags:
      - Asset V2
      summary: Update an asset with the given ID
      description: "Updates an asset with the given ID if it exists. If the asset\
        \ is not found, no further action is taken. DANGER ZONE: Note that updating\
        \ assets can have unexpected results, especially for contract offers that\
        \ have been sent out or are ongoing in contract negotiations."
      operationId: updateAsset
      parameters:
      - name: connectorUrl
        in: header
        required: false
        schema:
          type: string
          default: ""
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
      responses:
        "200":
          description: Asset was updated successfully
          content:
            application/json:
              schema:
                type: object
        "404":
          description: "Asset could not be updated, because it does not exist."
        "400":
          description: "Request body was malformed, e.g. id was null"
    post:
      tags:
      - Asset V2
      summary: Creates a new asset together with a data address
      operationId: createAsset
      parameters:
      - name: connectorUrl
        in: header
        required: false
        schema:
          type: string
          default: ""
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
      responses:
        "400":
          description: Request body was malformed
        "409":
          description: "Could not create asset, because an asset with that ID already\
            \ exists"
        "200":
          description: Asset was created successfully. Returns the asset Id and created
            timestamp
          content:
            application/json:
              schema:
                type: object
  /v2/assets/{assetId}/dataaddress:
    get:
      tags:
      - Asset V2
      summary: Gets a data address of an asset with the given ID
      operationId: getDataAddressByAssetId
      parameters:
      - name: assetId
        in: path
        required: true
        schema:
          type: string
      - name: connectorUrl
        in: header
        required: false
        schema:
          type: string
          default: ""
      responses:
        "200":
          description: The data address
          content:
            application/json:
              schema:
                type: object
        "400":
          description: "Request was malformed, e.g. id was null"
        "404":
          description: An asset with the given ID does not exist
    put:
      tags:
      - Asset V2
      summary: Updates a DataAddress for an asset with the given ID
      operationId: updateDataAddressByAssetId
      parameters:
      - name: assetId
        in: path
        required: true
        schema:
          type: string
      - name: connectorUrl
        in: header
        required: false
        schema:
          type: string
          default: ""
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
      responses:
        "200":
          description: Asset was updated successfully
          content:
            application/json:
              schema:
                type: object
        "404":
          description: "Asset could not be updated, because it does not exist."
        "400":
          description: "Request body was malformed, e.g. id was null"
  /policydefinitions:
    put:
      tags:
      - DGK Policy Definition
      summary: "Updates an existing Policy, If the Policy is not found, an error is\
        \ reported"
      operationId: updatePolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyUpdateRequestDto'
        required: true
      responses:
        "403":
          description: Operation denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "404":
          description: "Policy definition could not be updated, because it does not\
            \ exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Policy definition was updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
    post:
      tags:
      - DGK Policy Definition
      summary: Creates a new policy definition revision
      operationId: createPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyCreateRequestDto'
        required: true
      responses:
        "409":
          description: "Policy definition could not be created, because it does already\
            \ exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Policy definition was created successfully. Returns the Policy
            Definition Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyIdsResponseDto'
  /contractdefinitions:
    put:
      tags:
      - DGK Contract Definition
      summary: Updates a contract definition with the given ID
      operationId: updateContractDefinition
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractDefinitionUpdateRequestDto'
        required: true
      responses:
        "404":
          description: Contract definition with given id is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "403":
          description: Operation denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Contract definition was updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
    post:
      tags:
      - DGK Contract Definition
      summary: Creates a new contract definition revision
      description: "Note: assetsSelector supports multiple conditions using key-value\
        \ pairs.If a list of assetIDs has to be provided then a key named assetIds\
        \ should be used"
      operationId: createContractDefinition
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractDefinitionCreateRequestDto'
        required: true
      responses:
        "409":
          description: "Contract definition definition could not be created, because\
            \ it does already exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Contract definition was created successfully. Returns the Contract
            Definition Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractDefinitionIdsResponseDto'
  /connector-info/save:
    put:
      tags:
      - Connector API
      summary: Updates a connector by id
      operationId: updateConnectorInfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectorUpdateRequestDto'
        required: true
      responses:
        "200":
          description: Connector updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorsInfoResponseDto'
        "400":
          description: "Operation denied, error while parsing request body"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
    post:
      tags:
      - Connector API
      summary: Creates new connector entries
      operationId: saveConnectorInfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectorsDataRequestDto'
        required: true
      responses:
        "200":
          description: Connectors list saved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
        "400":
          description: "Operation denied, error while parsing request body"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
  /assets:
    put:
      tags:
      - DGK Asset
      summary: Update an asset with the given ID
      description: "Updates an asset with the given ID if it exists. If the asset\
        \ is not found, no further action is taken. DANGER ZONE: Note that updating\
        \ assets can have unexpected results, especially for contract offers that\
        \ have been sent out or are ongoing in contract negotiations."
      operationId: updateAsset_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetUpdateRequestDto'
        required: true
      responses:
        "404":
          description: "Asset could not be updated, because it does not exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "403":
          description: Operation denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Asset was updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
    post:
      tags:
      - DGK Asset
      summary: Creates a new asset revision
      operationId: createAsset_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetCreateRequestDto'
        required: true
      responses:
        "409":
          description: "Asset could not be created, because it does already exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Asset was created successfully. Returns the asset Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetIdsResponseDto'
  /v2/assets/request:
    post:
      tags:
      - Asset V2
      summary: Get all assets according to a particular query
      operationId: getAssets
      parameters:
      - name: connectorUrl
        in: header
        required: false
        schema:
          type: string
          default: ""
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        "400":
          description: Request body was malformed
        "200":
          description: The assets matching the query
          content:
            application/json:
              schema:
                type: object
  /resources/publication:
    post:
      tags:
      - DGK Resource Publication
      summary: Creates a new resource publication
      operationId: createPublication
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicationInputSchema'
        required: true
      responses:
        "409":
          description: "Resource publication could not be created, because current\
            \ publication is pending."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "202":
          description: Resource publication was successfully created. Returns the
            resource publication Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicationsResponseDto'
  /resource-connector/request:
    post:
      tags:
      - ResourceConnector API
      summary: Get resource-connector row for an resourceId and a connectorId to find
        out if a resource was published to a connector
      operationId: getByResourceDataAndConnectorId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceConnectorRequestDto'
        required: true
      responses:
        "404":
          description: No resource-connector row found by resourceId and connectorId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: The resource-connector pair
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceConnectorsResponseDto'
  /policydefinitions/request:
    post:
      tags:
      - DGK Policy Definition
      summary: Returns all policy definitions according to a query
      description: "Note: query is not supported in current version of DGK."
      operationId: getPolicies
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: The policy definitions matching the query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoliciesResponseDto'
  /policydefinitions/list:
    post:
      tags:
      - DGK Policy Definition
      summary: Gets policies by a list of IDs
      operationId: getPoliciesByIdList
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        "200":
          description: The list of policy definitions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoliciesResponseDto'
  /contractdefinitions/request:
    post:
      tags:
      - DGK Contract Definition
      summary: Gets a list of contract definitions
      operationId: getContractDefinitions
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "200":
          description: Contract definition was retrieved successfully. Returns Contract
            Definitions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractDefinitionsResponseDto'
  /contractdefinitions/list:
    post:
      tags:
      - DGK Contract Definition
      summary: Gets contract definitions from a list of IDs
      operationId: getContractDefinitionsByIds
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        "200":
          description: The contract definitions with contractDefinitionsIds from the
            provided list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractDefinitionsResponseDto'
  /connector-info/id:
    post:
      tags:
      - Connector API
      summary: Gets a list of connectors by connector id list
      operationId: getConnectorInfoListByIdList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectorIdsRequestDto'
        required: true
      responses:
        "200":
          description: "List of connectors or empty list, if no connector was registered"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorsInfoResponseDto'
  /assets/request:
    post:
      tags:
      - DGK Asset
      summary: Get all assets according to a particular query
      description: "Note: query is not supported in current version of DGK."
      operationId: getAssets_1
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "200":
          description: The assets matching the query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetsResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
  /assets/list:
    post:
      tags:
      - DGK Asset
      summary: Gets more assets from a list of IDs
      operationId: getAssetsByIds
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        "200":
          description: The assets with assetsIds from the provided list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetsResponseDto'
  /v2/assets/{id}:
    get:
      tags:
      - Asset V2
      summary: Gets an asset with the given ID
      operationId: getAssetById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: connectorUrl
        in: header
        required: false
        schema:
          type: string
          default: ""
      responses:
        "400":
          description: "Request was malformed, e.g. id was null"
        "200":
          description: The asset
          content:
            application/json:
              schema:
                type: object
        "404":
          description: An asset with the given ID does not exist
    delete:
      tags:
      - Asset V2
      summary: Delete asset by its id
      description: "Removes an asset with the given ID if possible. Deleting an asset\
        \ is only possible if that asset is not yet referenced by a contract agreement,\
        \ in which case an error is returned. DANGER ZONE: Note that deleting assets\
        \ can have unexpected results, especially for contract offers that have been\
        \ sent out or ongoing or contract negotiations."
      operationId: deleteAssetById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: connectorUrl
        in: header
        required: false
        schema:
          type: string
          default: ""
      responses:
        "200":
          description: Asset was deleted successfully
          content:
            application/json:
              schema:
                type: object
        "400":
          description: "Request body was malformed, e.g. id was null"
        "404":
          description: An asset with the given ID does not exist
        "409":
          description: "The asset cannot be deleted, because it is referenced by a\
            \ contract agreement"
  /resources/{resourceId}/publication:
    get:
      tags:
      - DGK Resource Publication
      summary: Gets a resource publication basis on given resourceId
      operationId: getPublicationByResourceId
      parameters:
      - name: resourceId
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: The resource publication object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
        "400":
          description: Request body was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "404":
          description: Resource publication not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
  /resource-connector/{resourceType}/{resourceId}:
    get:
      tags:
      - ResourceConnector API
      summary: Gets all resource-connector rows for resourceId to find out where a
        resource has been published
      operationId: getResourceConnectorsByResourceData
      parameters:
      - name: resourceType
        in: path
        required: true
        schema:
          type: string
      - name: resourceId
        in: path
        required: true
        schema:
          type: string
      responses:
        "404":
          description: No resource-connector rows found by resourceId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: The resource-connector pair
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceConnectorsResponseDto'
  /resource-connector/connector/{resourceType}/{connectorId}:
    get:
      tags:
      - ResourceConnector API
      summary: Gets all resource-connector rows for connectorId to find out all resources
        published to a connector
      operationId: getResourceConnectorsByConnectorId
      parameters:
      - name: resourceType
        in: path
        required: true
        schema:
          type: string
      - name: connectorId
        in: path
        required: true
        schema:
          type: string
      responses:
        "404":
          description: No resource-connector rows found by connectorId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: The resource-connector pair
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceConnectorsResponseDto'
  /policydefinitions/{id}:
    get:
      tags:
      - DGK Policy Definition
      summary: Gets a policy definition with the given ID
      operationId: getPolicyById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        "404":
          description: A policy definition with the given ID does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: The policy definition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoliciesResponseDto'
    delete:
      tags:
      - DGK Policy Definition
      summary: Marks a policy definition as deleted in DGK
      operationId: deletePolicyById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        "400":
          description: "Request body was malformed, e.g. id was null"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "409":
          description: "Policy definition cannot be deleted, because it is referenced\
            \ by a contract agreement"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "404":
          description: Policy definition with the given ID does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Policy definition was deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
  /contractdefinitions/{id}:
    get:
      tags:
      - DGK Contract Definition
      summary: Gets a ContractDefinition with the given ID
      operationId: getContractDefinitionById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        "404":
          description: Contract definition with given id is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: The contract definition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractDefinitionDto'
    delete:
      tags:
      - DGK Contract Definition
      summary: Delete contract definition by its id
      description: Removes contract definition with the given ID if possible
      operationId: deleteContractDefinitionById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        "400":
          description: "Request body was malformed, e.g. id was null"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "404":
          description: Contract definition with the given ID does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Contract definition was deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
  /connector-info:
    get:
      tags:
      - Connector API
      summary: Gets a connector by connector base URL
      operationId: getConnectorInfo
      parameters:
      - name: url
        in: query
        required: true
        schema:
          type: string
      responses:
        "400":
          description: No connectors found by base URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: The connector
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorsInfoResponseDto'
  /connector-info/list:
    get:
      tags:
      - Connector API
      summary: Get all connectors information
      operationId: getConnectorInfoList
      responses:
        "200":
          description: "List of connectors or empty list, if no connector was registered"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorsInfoResponseDto'
  /auth/token:
    get:
      tags:
      - token-controller
      operationId: generateToken
      parameters:
      - name: Api-Key
        in: header
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Token'
  /assets/{id}:
    get:
      tags:
      - DGK Asset
      summary: Gets an asset with the given ID
      operationId: getAssetById_1
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: The asset
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetsResponseDto'
        "404":
          description: Asset with given id is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
    delete:
      tags:
      - DGK Asset
      summary: Delete asset by its id
      description: "Removes an asset with the given ID if possible. Deleting an asset\
        \ is only possible if that asset is not yet referenced by a contract agreement,\
        \ in which case an error is returned. DANGER ZONE: Note that deleting assets\
        \ can have unexpected results, especially for contract offers that have been\
        \ sent out or ongoing or contract negotiations."
      operationId: deleteAssetById_1
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        "404":
          description: An asset with the given ID does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "400":
          description: "Request body was malformed, e.g. id was null"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Asset was deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
        "409":
          description: "The asset cannot be deleted, because it is referenced by a\
            \ contract agreement"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
  /connector-info/{id}:
    delete:
      tags:
      - Connector API
      summary: Delete connector by its id
      operationId: deleteConnectorById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        "404":
          description: A connector with the given ID does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        "200":
          description: Connector was deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponseDto'
components:
  schemas:
    PolicyUpdateRequestDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        target:
          type: string
        type:
          type: string
        payload:
          type: object
          additionalProperties:
            type: object
    ErrorResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          type: string
    BaseResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
    ContractDefinitionUpdateRequestDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        assetsSelector:
          type: array
          items:
            type: object
            additionalProperties:
              type: object
        accessPolicyId:
          type: string
        usagePolicyId:
          type: string
    ConnectorUpdateRequestDto:
      required:
      - apiKeyValue
      - id
      - name
      - url
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        url:
          type: string
        apiKeyValue:
          type: string
        role:
          type: string
        description:
          type: string
        partnerId:
          type: string
    ConnectorInfoDto:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedAt:
          type: string
          format: date-time
        modifiedBy:
          type: string
        isDeleted:
          type: boolean
        id:
          type: string
        name:
          type: string
        url:
          type: string
        apiKeyValue:
          type: string
        role:
          type: string
        description:
          type: string
        partnerId:
          type: string
    ConnectorsInfoDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ConnectorInfoDto'
    ConnectorsInfoResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/ConnectorsInfoDto'
    AssetUpdateRequestDto:
      type: object
      properties:
        id:
          type: string
        properties:
          type: object
          additionalProperties:
            type: object
        privateProperties:
          type: object
          additionalProperties:
            type: object
        dataAddress:
          $ref: '#/components/schemas/DataAddressDto'
    DataAddressDto:
      type: object
      properties:
        properties:
          type: object
          additionalProperties:
            type: object
    PublicationInputSchema:
      type: object
      properties:
        resourcePublicationList:
          type: array
          items:
            $ref: '#/components/schemas/PublicationRequestDto'
      example:
      - resourceId: asset1
        resourceType: asset
        targetEdcUrls:
        - http://test.url/1
      - resourceId: asset2
        resourceType: asset
        targetEdcUrls:
        - http://test.url/2
    PublicationRequestDto:
      type: object
      properties:
        resourceId:
          type: string
        resourceType:
          type: string
        targetEdcUrls:
          type: array
          items:
            type: string
            format: url
    PublicationDto:
      type: object
      properties:
        publicationId:
          type: integer
          format: int64
        transactionIdList:
          type: array
          items:
            type: integer
            format: int64
    PublicationsDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PublicationDto'
    PublicationsResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/PublicationsDto'
    ResourceConnectorRequestDto:
      type: object
      properties:
        resource_id:
          type: string
        resource_type:
          type: string
        connector_id:
          type: string
    ResourceConnectorDto:
      type: object
      properties:
        resource_id:
          type: string
        resource_revision_id:
          type: string
        resource_type:
          type: string
        connector_id:
          type: string
        connector_url:
          type: string
        sync_status:
          type: string
        connector_name:
          type: string
    ResourceConnectorsDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ResourceConnectorDto'
    ResourceConnectorsResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/ResourceConnectorsDto'
    PolicyCreateRequestDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        target:
          type: string
        type:
          type: string
        payload:
          type: object
          additionalProperties:
            type: object
    PolicyIdDto:
      type: object
      properties:
        id:
          type: string
    PolicyIdsDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PolicyIdDto'
    PolicyIdsResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/PolicyIdsDto'
    PoliciesDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PolicyDto'
    PoliciesResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/PoliciesDto'
    PolicyDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
        payload:
          type: object
          additionalProperties:
            type: object
        target:
          type: string
        edcPolicyType:
          type: string
        governanceStatus:
          type: string
        syncStatus:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedAt:
          type: string
          format: date-time
        modifiedBy:
          type: string
        isDeleted:
          type: boolean
    ContractDefinitionCreateRequestDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        assetsSelector:
          type: array
          items:
            type: object
            additionalProperties:
              type: object
        accessPolicyId:
          type: string
        usagePolicyId:
          type: string
    ContractDefinitionIdDto:
      type: object
      properties:
        id:
          type: string
    ContractDefinitionIdsDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ContractDefinitionIdDto'
    ContractDefinitionIdsResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/ContractDefinitionIdsDto'
    ContractDefinitionDto:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedAt:
          type: string
          format: date-time
        modifiedBy:
          type: string
        isDeleted:
          type: boolean
        id:
          type: string
        name:
          type: string
        assetsSelector:
          type: array
          items:
            type: object
            additionalProperties:
              type: object
        accessPolicyId:
          type: string
        usagePolicyId:
          type: string
        governanceStatus:
          type: string
          enum:
          - draft
          - governed
        syncStatus:
          type: string
          enum:
          - syncing
          - in sync
          - out of sync
          - not published
    ContractDefinitionsDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ContractDefinitionDto'
    ContractDefinitionsResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/ContractDefinitionsDto'
    ConnectorDataRequestDto:
      required:
      - apiKeyValue
      - name
      - url
      type: object
      properties:
        name:
          type: string
        url:
          type: string
        apiKeyValue:
          type: string
        role:
          type: string
        description:
          type: string
        partnerId:
          type: string
    ConnectorsDataRequestDto:
      type: object
      properties:
        connectors:
          maxItems: 2147483647
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ConnectorDataRequestDto'
    ConnectorIdsRequestDto:
      type: object
      properties:
        ids:
          type: array
          items:
            type: string
    AssetCreateRequestDto:
      type: object
      properties:
        id:
          type: string
        properties:
          type: object
          additionalProperties:
            type: object
        privateProperties:
          type: object
          additionalProperties:
            type: object
        dataAddress:
          $ref: '#/components/schemas/DataAddressDto'
    AssetIdDto:
      type: object
      properties:
        assetId:
          type: string
    AssetIdsDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/AssetIdDto'
    AssetIdsResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/AssetIdsDto'
    AssetDto:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedAt:
          type: string
          format: date-time
        modifiedBy:
          type: string
        isDeleted:
          type: boolean
        id:
          type: string
        properties:
          type: object
          additionalProperties:
            type: object
        privateProperties:
          type: object
          additionalProperties:
            type: object
        dataAddress:
          $ref: '#/components/schemas/DataAddressDto'
        governanceStatus:
          type: string
        syncStatus:
          type: string
    AssetsDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/AssetDto'
    AssetsResponseDto:
      type: object
      properties:
        message:
          type: string
        level:
          type: string
        result:
          $ref: '#/components/schemas/AssetsDto'
    Token:
      type: object
      properties:
        token:
          type: string
        valid:
          type: boolean
        errorMessage:
          type: string
