openapi: 3.0.1 info: title: management-api description: REST API documentation for the management-api version: 0.11.1.1 servers: - url: / paths: /callback/{processId}/deprovision: post: tags: - HTTP Provisioner Webhook operationId: callDeprovisionWebhook parameters: - name: processId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/DeprovisionedResource" responses: default: description: default response content: application/json: { } /callback/{processId}/provision: post: tags: - HTTP Provisioner Webhook operationId: callProvisionWebhook parameters: - name: processId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ProvisionerWebhookRequest" responses: default: description: default response content: application/json: { } /v3/assets: put: tags: - Asset V3 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: updateAssetV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/AssetInput" responses: "204": description: Asset was updated successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: "Asset could not be updated, because it does not exist." post: tags: - Asset V3 description: Creates a new asset together with a data address operationId: createAssetV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/AssetInput" responses: "200": description: Asset was created successfully. Returns the asset Id and created timestamp content: application/json: schema: $ref: "#/components/schemas/IdResponse" "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "409": description: "Could not create asset, because an asset with that ID already\ \ exists" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/assets/request: post: tags: - Asset V3 description: Request all assets according to a particular query operationId: requestAssetsV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/QuerySpec" responses: "200": description: The assets matching the query content: application/json: schema: type: array items: $ref: "#/components/schemas/AssetOutput" "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/assets/{id}: get: tags: - Asset V3 description: Gets an asset with the given ID operationId: getAssetV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The asset content: application/json: schema: $ref: "#/components/schemas/AssetOutput" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An asset with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" delete: tags: - Asset V3 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: removeAssetV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "204": description: Asset was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An asset with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "409": description: "The asset cannot be deleted, because it is referenced by a\ \ contract agreement" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/catalog/dataset/request: post: tags: - Catalog V3 operationId: getDatasetV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/DatasetRequest" responses: default: description: Gets single dataset from a connector content: application/json: schema: $ref: "#/components/schemas/Dataset" /v3/catalog/request: post: tags: - Catalog V3 operationId: requestCatalogV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/CatalogRequest" responses: default: description: Gets contract offers (=catalog) of a single connector content: application/json: schema: $ref: "#/components/schemas/Catalog" /v3/contractagreements/request: post: tags: - Contract Agreement V3 description: Gets all contract agreements according to a particular query operationId: queryAgreementsV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/QuerySpec" responses: "200": description: The contract agreements matching the query content: application/json: schema: type: array items: $ref: "#/components/schemas/ContractAgreement" "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractagreements/{id}: get: tags: - Contract Agreement V3 description: Gets an contract agreement with the given ID operationId: getAgreementByIdV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The contract agreement content: application/json: schema: $ref: "#/components/schemas/ContractAgreement" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An contract agreement with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractagreements/{id}/negotiation: get: tags: - Contract Agreement V3 description: Gets a contract negotiation with the given contract agreement ID operationId: getNegotiationByAgreementIdV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The contract negotiation content: application/json: schema: $ref: "#/components/schemas/ContractNegotiation" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An contract agreement with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractdefinitions: put: tags: - Contract Definition V3 description: Updated a contract definition with the given ID. The supplied JSON structure must be a valid JSON-LD object operationId: updateContractDefinitionV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/ContractDefinitionInput" responses: "204": description: Contract definition was updated successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A contract definition with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" post: tags: - Contract Definition V3 description: Creates a new contract definition operationId: createContractDefinitionV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/ContractDefinitionInput" responses: "200": description: contract definition was created successfully. Returns the Contract Definition Id and created timestamp content: application/json: schema: $ref: "#/components/schemas/IdResponse" "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "409": description: "Could not create contract definition, because a contract definition\ \ with that ID already exists" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractdefinitions/request: post: tags: - Contract Definition V3 description: Returns all contract definitions according to a query operationId: queryContractDefinitionsV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/QuerySpec" responses: "200": description: The contract definitions matching the query content: application/json: schema: type: array items: $ref: "#/components/schemas/ContractDefinitionOutput" "400": description: Request was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractdefinitions/{id}: get: tags: - Contract Definition V3 description: Gets an contract definition with the given ID operationId: getContractDefinitionV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The contract definition content: application/json: schema: $ref: "#/components/schemas/ContractDefinitionOutput" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An contract agreement with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" delete: tags: - Contract Definition V3 description: "Removes a contract definition with the given ID if possible. DANGER\ \ ZONE: Note that deleting contract definitions can have unexpected results,\ \ especially for contract offers that have been sent out or ongoing or contract\ \ negotiations." operationId: deleteContractDefinitionV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "204": description: Contract definition was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A contract definition with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractnegotiations: post: tags: - Contract Negotiation V3 description: "Initiates a contract negotiation for a given offer and with the\ \ given counter part. Please note that successfully invoking this endpoint\ \ only means that the negotiation was initiated. Clients must poll the /{id}/state\ \ endpoint to track the state" operationId: initiateContractNegotiationV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/ContractRequest" responses: "200": description: The negotiation was successfully initiated. Returns the contract negotiation ID and created timestamp content: application/json: schema: $ref: "#/components/schemas/IdResponse" links: poll-state: operationId: getNegotiationStateV3 parameters: id: $response.body#/id "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractnegotiations/request: post: tags: - Contract Negotiation V3 description: Returns all contract negotiations according to a query operationId: queryNegotiationsV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/QuerySpec" responses: "200": description: The contract negotiations that match the query content: application/json: schema: type: array items: $ref: "#/components/schemas/ContractNegotiation" "400": description: Request was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractnegotiations/{id}: get: tags: - Contract Negotiation V3 description: Gets a contract negotiation with the given ID operationId: getNegotiationV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The contract negotiation content: application/json: schema: $ref: "#/components/schemas/ContractNegotiation" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An contract negotiation with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractnegotiations/{id}/agreement: get: tags: - Contract Negotiation V3 description: Gets a contract agreement for a contract negotiation with the given ID operationId: getAgreementForNegotiationV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: "The contract agreement that is attached to the negotiation,\ \ or null" content: application/json: schema: $ref: "#/components/schemas/ContractAgreement" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An contract negotiation with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractnegotiations/{id}/state: get: tags: - Contract Negotiation V3 description: Gets the state of a contract negotiation with the given ID operationId: getNegotiationStateV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The contract negotiation's state content: application/json: schema: $ref: "#/components/schemas/NegotiationState" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An contract negotiation with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/contractnegotiations/{id}/terminate: post: tags: - Contract Negotiation V3 description: Terminates the contract negotiation. operationId: terminateNegotiationV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/TerminateNegotiationSchema" responses: "200": description: ContractNegotiation is terminating links: poll-state: operationId: getNegotiationStateV3 "400": description: Request was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A contract negotiation with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/dataplanes: get: tags: - Dataplane Selector V3 description: Returns a list of all currently registered data plane instances operationId: getAllDataPlaneInstancesV3 responses: "200": description: A (potentially empty) list of currently registered data plane instances content: application/json: schema: type: array items: $ref: "#/components/schemas/DataPlaneInstanceSchemaV3" # EDRS /v3/edrs/request: post: tags: - EDR Cache V3 description: Request all Edr entries according to a particular query operationId: requestEdrEntriesV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/QuerySpec" responses: "200": description: The edr entries matching the query content: application/json: schema: type: array items: $ref: "#/components/schemas/EndpointDataReferenceEntry" "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/edrs/{transferProcessId}: delete: tags: - EDR Cache V3 description: Removes an EDR entry given the transfer process ID operationId: removeEdrEntryV3 parameters: - name: transferProcessId in: path required: true style: simple explode: false schema: type: string responses: "204": description: EDR entry was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An EDR entry with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/edrs/{transferProcessId}/dataaddress: get: tags: - EDR Cache V3 description: Gets the EDR data address with the given transfer process ID operationId: getEdrEntryDataAddressV3 parameters: - name: transferProcessId in: path required: true style: simple explode: false schema: type: string responses: "200": description: The data address content: application/json: schema: $ref: "#/components/schemas/DataAddress" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An EDR data address with the given transfer process ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/policydefinitions: post: tags: - Policy Definition V3 description: Creates a new policy definition operationId: createPolicyDefinitionV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/PolicyDefinitionInput" responses: "200": description: policy definition was created successfully. Returns the Policy Definition Id and created timestamp content: application/json: schema: $ref: "#/components/schemas/IdResponse" "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "409": description: "Could not create policy definition, because a contract definition\ \ with that ID already exists" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/policydefinitions/request: post: tags: - Policy Definition V3 description: Returns all policy definitions according to a query operationId: queryPolicyDefinitionsV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/QuerySpec" responses: "200": description: The policy definitions matching the query content: application/json: schema: type: array items: $ref: "#/components/schemas/PolicyDefinitionOutput" "400": description: Request was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/policydefinitions/{id}: get: tags: - Policy Definition V3 description: Gets a policy definition with the given ID operationId: getPolicyDefinitionV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The policy definition content: application/json: schema: $ref: "#/components/schemas/PolicyDefinitionOutput" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An policy definition with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" put: tags: - Policy Definition V3 description: "Updates an existing Policy, If the Policy is not found, an error\ \ is reported" operationId: updatePolicyDefinitionV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/PolicyDefinitionInput" responses: "204": description: policy definition was updated successfully. "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: "policy definition could not be updated, because it does not\ \ exists" content: application/json: schema: $ref: "#/components/schemas/ApiErrorDetail" delete: tags: - Policy Definition V3 description: "Removes a policy definition with the given ID if possible. Deleting\ \ a policy definition is only possible if that policy definition is not yet\ \ referenced by a contract definition, in which case an error is returned.\ \ DANGER ZONE: Note that deleting policy definitions can have unexpected results,\ \ do this at your own risk!" operationId: deletePolicyDefinitionV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "204": description: Policy definition was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An policy definition with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "409": description: "The policy definition cannot be deleted, because it is referenced\ \ by a contract definition" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/secrets: put: tags: - Secret V3 description: "Updates a secret with the given ID if it exists. If the secret\ \ is not found, no further action is taken. " operationId: updateSecretV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/SecretInput" responses: "204": description: Secret was updated successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: "Secret could not be updated, because it does not exist." post: tags: - Secret V3 description: Creates a new secret. operationId: createSecretV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/SecretInput" responses: "200": description: Secret was created successfully. Returns the secret Id and created timestamp content: application/json: schema: $ref: "#/components/schemas/IdResponse" "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "409": description: "Could not create secret, because a secret with that ID already\ \ exists" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/secrets/{id}: get: tags: - Secret V3 description: Gets a secret with the given ID operationId: getSecretV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The secret content: application/json: schema: $ref: "#/components/schemas/SecretOutput" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A secret with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" delete: tags: - Secret V3 description: Removes a secret with the given ID if possible. operationId: removeSecretV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "204": description: Secret was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A secret with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/transferprocesses: post: tags: - Transfer Process V3 description: "Initiates a data transfer with the given parameters. Due to the\ \ asynchronous nature of transfers, a successful response only indicates that\ \ the request was successfully received. This may take a long time, so clients\ \ must poll the /{id}/state endpoint to track the state." operationId: initiateTransferProcessV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/TransferRequest" responses: "200": description: The transfer was successfully initiated. Returns the transfer process ID and created timestamp content: application/json: schema: $ref: "#/components/schemas/IdResponse" links: poll-state: operationId: getTransferProcessStateV3 parameters: id: $response.body#/id "400": description: Request body was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/transferprocesses/request: post: tags: - Transfer Process V3 description: Returns all transfer process according to a query operationId: queryTransferProcessesV3 requestBody: content: application/json: schema: $ref: "#/components/schemas/QuerySpec" responses: "200": description: The transfer processes matching the query content: application/json: schema: type: array items: $ref: "#/components/schemas/TransferProcess" "400": description: Request was malformed content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/transferprocesses/{id}: get: tags: - Transfer Process V3 description: Gets an transfer process with the given ID operationId: getTransferProcessV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The transfer process content: application/json: schema: $ref: "#/components/schemas/TransferProcess" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A transfer process with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/transferprocesses/{id}/deprovision: post: tags: - Transfer Process V3 description: "Requests the deprovisioning of resources associated with a transfer\ \ process. Due to the asynchronous nature of transfers, a successful response\ \ only indicates that the request was successfully received. This may take\ \ a long time, so clients must poll the /{id}/state endpoint to track the\ \ state." operationId: deprovisionTransferProcessV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "204": description: Request to deprovision the transfer process was successfully received links: poll-state: operationId: deprovisionTransferProcessV3 "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A transfer process with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/transferprocesses/{id}/resume: post: tags: - Transfer Process V3 description: "Requests the resumption of a suspended transfer process. Due to\ \ the asynchronous nature of transfers, a successful response only indicates\ \ that the request was successfully received. This may take a long time, so\ \ clients must poll the /{id}/state endpoint to track the state." operationId: resumeTransferProcessV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "204": description: Request to resume the transfer process was successfully received links: poll-state: operationId: resumeTransferProcessV3 "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A transfer process with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/transferprocesses/{id}/state: get: tags: - Transfer Process V3 description: Gets the state of a transfer process with the given ID operationId: getTransferProcessStateV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string responses: "200": description: The transfer process's state content: application/json: schema: $ref: "#/components/schemas/TransferState" "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: An transfer process with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/transferprocesses/{id}/suspend: post: tags: - Transfer Process V3 description: "Requests the suspension of a transfer process. Due to the asynchronous\ \ nature of transfers, a successful response only indicates that the request\ \ was successfully received. This may take a long time, so clients must poll\ \ the /{id}/state endpoint to track the state." operationId: suspendTransferProcessV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/SuspendTransfer" responses: "204": description: Request to suspend the transfer process was successfully received links: poll-state: operationId: suspendTransferProcessV3 "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A transfer process with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "409": description: "Could not suspend the transfer process, because it is already\ \ completed or terminated." content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" /v3/transferprocesses/{id}/terminate: post: tags: - Transfer Process V3 description: "Requests the termination of a transfer process. Due to the asynchronous\ \ nature of transfers, a successful response only indicates that the request\ \ was successfully received. This may take a long time, so clients must poll\ \ the /{id}/state endpoint to track the state." operationId: terminateTransferProcessV3 parameters: - name: id in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/TerminateTransfer" responses: "204": description: Request to terminate the transfer process was successfully received links: poll-state: operationId: terminateTransferProcessV3 "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "404": description: A transfer process with the given ID does not exist content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" "409": description: "Could not terminate transfer process, because it is already\ \ completed or terminated." content: application/json: schema: type: array items: $ref: "#/components/schemas/ApiErrorDetail" components: schemas: ApiErrorDetail: type: object properties: invalidValue: type: string message: type: string path: type: string type: type: string example: message: error message type: ErrorType path: object.error.path invalidValue: this value is not valid AssetInput: required: - '@context' - dataAddress - properties type: object properties: '@context': type: object '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/Asset dataAddress: $ref: "#/components/schemas/DataAddress" privateProperties: $ref: "#/components/schemas/Properties" properties: $ref: "#/components/schemas/Properties" example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': asset-id properties: key: value privateProperties: privateKey: privateValue dataAddress: type: HttpData baseUrl: https://jsonplaceholder.typicode.com/todos AssetOutput: type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/Asset createdAt: type: integer format: int64 dataAddress: $ref: "#/components/schemas/DataAddress" privateProperties: $ref: "#/components/schemas/Properties" properties: $ref: "#/components/schemas/Properties" example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': asset-id properties: key: value privateProperties: privateKey: privateValue dataAddress: type: HttpData baseUrl: https://jsonplaceholder.typicode.com/todos createdAt: 1688465655 CallbackAddress: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/CallbackAddress authCodeId: type: string authKey: type: string events: uniqueItems: true type: array items: type: string transactional: type: boolean uri: type: string Catalog: type: object description: DCAT catalog example: '@id': 7df65569-8c59-4013-b1c0-fa14f6641bf2 '@type': dcat:Catalog dcat:dataset: '@id': bcca61be-e82e-4da6-bfec-9716a56cef35 '@type': dcat:Dataset odrl:hasPolicy: '@id': OGU0ZTMzMGMtODQ2ZS00ZWMxLThmOGQtNWQxNWM0NmI2NmY4:YmNjYTYxYmUtZTgyZS00ZGE2LWJmZWMtOTcxNmE1NmNlZjM1:NDY2ZTZhMmEtNjQ1Yy00ZGQ0LWFlZDktMjdjNGJkZTU4MDNj '@type': odrl:Set odrl:permission: odrl:target: bcca61be-e82e-4da6-bfec-9716a56cef35 odrl:action: odrl:type: http://www.w3.org/ns/odrl/2/use odrl:constraint: odrl:and: - odrl:leftOperand: https://w3id.org/edc/v0.0.1/ns/inForceDate odrl:operator: '@id': odrl:gteq odrl:rightOperand: 2023-07-07T07:19:58.585601395Z - odrl:leftOperand: https://w3id.org/edc/v0.0.1/ns/inForceDate odrl:operator: '@id': odrl:lteq odrl:rightOperand: 2023-07-12T07:19:58.585601395Z odrl:prohibition: [ ] odrl:obligation: [ ] dcat:distribution: - '@type': dcat:Distribution dct:format: '@id': HttpData dcat:accessService: 5e839777-d93e-4785-8972-1005f51cf367 description: description id: bcca61be-e82e-4da6-bfec-9716a56cef35 dcat:service: '@id': 5e839777-d93e-4785-8972-1005f51cf367 '@type': dcat:DataService dct:terms: connector dct:endpointUrl: http://localhost:16806/protocol dspace:participantId: urn:connector:provider '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ dct: http://purl.org/dc/terms/ edc: https://w3id.org/edc/v0.0.1/ns/ dcat: http://www.w3.org/ns/dcat# odrl: http://www.w3.org/ns/odrl/2/ dspace: https://w3id.org/dspace/v0.8/ CatalogRequest: required: - '@context' - counterPartyAddress - protocol type: object properties: '@context': type: object '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/CatalogRequest additionalScopes: type: array items: type: string counterPartyAddress: type: string counterPartyId: type: string protocol: type: string querySpec: $ref: "#/components/schemas/QuerySpec" example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': CatalogRequest counterPartyAddress: http://provider-address counterPartyId: providerId protocol: dataspace-protocol-http additionalScopes: - org.eclipse.edc.vc.type:SomeCredential:read - org.eclipse.edc.vc.type:AnotherCredential:write querySpec: offset: 0 limit: 50 sortOrder: DESC sortField: fieldName filterExpression: [ ] ContractAgreement: type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractAgreement assetId: type: string consumerId: type: string contractSigningDate: type: integer format: int64 policy: $ref: "#/components/schemas/Policy" providerId: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/ContractAgreement '@id': negotiation-id providerId: provider-id consumerId: consumer-id assetId: asset-id contractSigningDate: 1688465655 policy: '@context': http://www.w3.org/ns/odrl.jsonld '@type': Set '@id': offer-id permission: - target: asset-id action: display ContractDefinitionInput: required: - '@context' - accessPolicyId - assetsSelector - contractPolicyId type: object properties: '@context': type: object '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractDefinition accessPolicyId: type: string assetsSelector: type: array items: $ref: "#/components/schemas/Criterion" contractPolicyId: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': definition-id accessPolicyId: asset-policy-id contractPolicyId: contract-policy-id assetsSelector: [ ] ContractDefinitionOutput: type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractDefinition accessPolicyId: type: string assetsSelector: type: array items: $ref: "#/components/schemas/Criterion" contractPolicyId: type: string createdAt: type: integer format: int64 example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': definition-id accessPolicyId: asset-policy-id contractPolicyId: contract-policy-id assetsSelector: [ ] createdAt: 1688465655 ContractNegotiation: type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractNegotiation callbackAddresses: type: array items: $ref: "#/components/schemas/CallbackAddress" contractAgreementId: type: string counterPartyAddress: type: string counterPartyId: type: string errorDetail: type: string protocol: type: string state: type: string type: type: string enum: - CONSUMER - PROVIDER example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/ContractNegotiation '@id': negotiation-id type: PROVIDER protocol: dataspace-protocol-http counterPartyId: counter-party-id counterPartyAddress: http://counter/party/address state: VERIFIED contractAgreementId: contract:agreement:id errorDetail: eventual-error-detail createdAt: 1688465655 callbackAddresses: - transactional: false uri: http://callback/url events: - contract.negotiation - transfer.process authKey: auth-key authCodeId: auth-code-id ContractRequest: required: - '@context' - counterPartyAddress - policy - protocol type: object properties: '@context': type: object '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractRequest callbackAddresses: type: array items: $ref: "#/components/schemas/CallbackAddress" counterPartyAddress: type: string policy: $ref: "#/components/schemas/Offer" protocol: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/ContractRequest counterPartyAddress: http://provider-address protocol: dataspace-protocol-http policy: '@context': http://www.w3.org/ns/odrl.jsonld '@type': odrl:Offer '@id': offer-id assigner: providerId permission: [ ] prohibition: [ ] obligation: [ ] target: assetId callbackAddresses: - transactional: false uri: http://callback/url events: - contract.negotiation - transfer.process authKey: auth-key authCodeId: auth-code-id Criterion: required: - operandLeft - operandRight - operator type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/Criterion operandLeft: type: object operandRight: type: object operator: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': Criterion operandLeft: fieldName operator: = operandRight: some value DataAddress: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/DataAddress type: type: string DataPlaneInstanceSchemaV3: required: - '@context' - allowedDestTypes - allowedSourceTypes - url type: object properties: '@context': type: object '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/DataPlaneInstance allowedDestTypes: uniqueItems: true type: array deprecated: true items: type: string deprecated: true allowedSourceTypes: uniqueItems: true type: array items: type: string lastActive: type: integer format: int64 state: type: string stateTimestamp: type: integer format: int64 turnCount: type: integer format: int32 deprecated: true url: type: string format: url example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': your-dataplane-id url: http://somewhere.com:1234/api/v1 allowedSourceTypes: - source-type1 - source-type2 allowedDestTypes: - your-dest-type allowedTransferTypes: - transfer-type state: AVAILABLE stateTimestamp: 1688465655 DataPlaneInstanceSchemaV4: required: - '@context' - allowedSourceTypes - url type: object properties: '@context': type: object '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/DataPlaneInstance allowedSourceTypes: uniqueItems: true type: array items: type: string lastActive: type: integer format: int64 state: type: string stateTimestamp: type: integer format: int64 url: type: string format: url example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': your-dataplane-id url: http://somewhere.com:1234/api/v1 allowedSourceTypes: - source-type1 - source-type2 allowedTransferTypes: - transfer-type state: AVAILABLE stateTimestamp: 1688465655 Dataset: type: object description: DCAT dataset example: '@id': bcca61be-e82e-4da6-bfec-9716a56cef35 '@type': dcat:Dataset odrl:hasPolicy: '@id': OGU0ZTMzMGMtODQ2ZS00ZWMxLThmOGQtNWQxNWM0NmI2NmY4:YmNjYTYxYmUtZTgyZS00ZGE2LWJmZWMtOTcxNmE1NmNlZjM1:NDY2ZTZhMmEtNjQ1Yy00ZGQ0LWFlZDktMjdjNGJkZTU4MDNj '@type': odrl:Set odrl:permission: odrl:target: bcca61be-e82e-4da6-bfec-9716a56cef35 odrl:action: odrl:type: http://www.w3.org/ns/odrl/2/use odrl:constraint: odrl:and: - odrl:leftOperand: https://w3id.org/edc/v0.0.1/ns/inForceDate odrl:operator: '@id': odrl:gteq odrl:rightOperand: 2023-07-07T07:19:58.585601395Z - odrl:leftOperand: https://w3id.org/edc/v0.0.1/ns/inForceDate odrl:operator: '@id': odrl:lteq odrl:rightOperand: 2023-07-12T07:19:58.585601395Z odrl:prohibition: [ ] odrl:obligation: [ ] odrl:target: bcca61be-e82e-4da6-bfec-9716a56cef35 dcat:distribution: - '@type': dcat:Distribution dct:format: '@id': HttpData dcat:accessService: 5e839777-d93e-4785-8972-1005f51cf367 description: description id: bcca61be-e82e-4da6-bfec-9716a56cef35 '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ dct: http://purl.org/dc/terms/ edc: https://w3id.org/edc/v0.0.1/ns/ dcat: http://www.w3.org/ns/dcat# odrl: http://www.w3.org/ns/odrl/2/ dspace: https://w3id.org/dspace/v0.8/ DatasetRequest: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/CatalogRequest counterPartyAddress: type: string counterPartyId: type: string protocol: type: string querySpec: $ref: "#/components/schemas/QuerySpec" example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': DatasetRequest '@id': dataset-id counterPartyAddress: http://counter-party-address counterPartyId: counter-party-id protocol: dataspace-protocol-http DeprovisionedResource: type: object properties: error: type: boolean errorMessage: type: string inProcess: type: boolean provisionedResourceId: type: string EndpointDataReferenceEntry: type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/EndpointDataReferenceEntry example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': transfer-process-id transferProcessId: transfer-process-id agreementId: agreement-id contractNegotiationId: contract-negotiation-id assetId: asset-id providerId: provider-id createdAt: 1688465655 IdResponse: type: object properties: '@id': type: string createdAt: type: integer format: int64 example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': id-value createdAt: 1688465655 JsonArray: type: array properties: empty: type: boolean first: $ref: "#/components/schemas/JsonValue" last: $ref: "#/components/schemas/JsonValue" valueType: type: string enum: - ARRAY - OBJECT - STRING - NUMBER - "TRUE" - "FALSE" - "NULL" items: $ref: "#/components/schemas/JsonValue" JsonObject: type: object properties: empty: type: boolean valueType: type: string enum: - ARRAY - OBJECT - STRING - NUMBER - "TRUE" - "FALSE" - "NULL" additionalProperties: $ref: "#/components/schemas/JsonValue" JsonValue: type: object properties: valueType: type: string enum: - ARRAY - OBJECT - STRING - NUMBER - "TRUE" - "FALSE" - "NULL" NegotiationState: type: object properties: state: type: string Offer: required: - '@id' - assigner - target type: object properties: '@id': type: string '@type': type: string example: http://www.w3.org/ns/odrl/2/Offer assigner: type: string target: type: string description: ODRL offer example: '@context': http://www.w3.org/ns/odrl.jsonld '@type': odrl:Offer '@id': offer-id assigner: providerId target: assetId permission: [ ] prohibition: [ ] obligation: [ ] Policy: type: object description: ODRL policy example: '@context': http://www.w3.org/ns/odrl.jsonld '@id': 0949ba30-680c-44e6-bc7d-1688cbe1847e '@type': odrl:Set permission: target: http://example.com/asset:9898.movie action: type: http://www.w3.org/ns/odrl/2/use constraint: leftOperand: https://w3id.org/edc/v0.0.1/ns/left operator: eq rightOperand: value prohibition: [ ] obligation: [ ] PolicyDefinitionInput: required: - '@context' - policy type: object properties: '@context': type: object '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/PolicyDefinition policy: $ref: "#/components/schemas/Policy" example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': definition-id policy: '@context': http://www.w3.org/ns/odrl.jsonld '@type': Set uid: http://example.com/policy:1010 profile: http://example.com/odrl:profile:02 permission: - target: http://example.com/asset:9898.movie action: display constraint: - leftOperand: spatial operator: eq rightOperand: https://www.wikidata.org/wiki/Q183 comment: i.e Germany PolicyDefinitionOutput: type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/PolicyDefinition policy: $ref: "#/components/schemas/Policy" example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': definition-id policy: '@context': http://www.w3.org/ns/odrl.jsonld '@type': Set uid: http://example.com/policy:1010 permission: - target: http://example.com/asset:9898.movie action: display constraint: - leftOperand: spatial operator: eq rightOperand: https://www.wikidata.org/wiki/Q183 comment: i.e Germany createdAt: 1688465655 PolicyEvaluationPlanRequestSchema: type: object properties: policyScope: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': PolicyEvaluationPlanRequest policyScope: catalog PolicyEvaluationPlanSchema: type: object example: '@type': PolicyEvaluationPlan preValidators: DcpScopeExtractorFunction permissionSteps: '@type': PermissionStep isFiltered: false filteringReasons: [ ] ruleFunctions: [ ] constraintSteps: '@type': AtomicConstraintStep isFiltered: true filteringReasons: - leftOperand 'MembershipCredential' is not bound to scope 'request.catalog' - leftOperand 'MembershipCredential' is not bound to any function within scope 'request.catalog' functionParams: - '''MembershipCredential''' - EQ - '''active''' dutySteps: [ ] prohibitionSteps: [ ] obligationSteps: [ ] postValidators: DefaultScopeMappingFunction '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ edc: https://w3id.org/edc/v0.0.1/ns/ odrl: http://www.w3.org/ns/odrl/2/ PolicyValidationResultSchema: type: object properties: errors: type: array items: type: string isValid: type: boolean example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': PolicyValidationResult isValid: false errors: - error1 - error2 Properties: type: object ProtocolVersion: type: object description: Protocol Version example: protocolVersions: - version: 2024/1 path: /2024/1 - version: v0.8 path: / ProvisionerWebhookRequest: type: object properties: apiKeyJwt: type: string assetId: type: string contentDataAddress: $ref: "#/components/schemas/DataAddress" hasToken: type: boolean resourceDefinitionId: type: string resourceName: type: string QuerySpec: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/QuerySpec filterExpression: type: array items: $ref: "#/components/schemas/Criterion" limit: type: integer format: int32 offset: type: integer format: int32 sortField: type: string sortOrder: type: string enum: - ASC - DESC example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': QuerySpec offset: 5 limit: 10 sortOrder: DESC sortField: fieldName filterExpression: [ ] SecretInput: required: - '@context' - value type: object properties: '@context': type: object '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/Secret value: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': secret-id value: secret-value SecretOutput: required: - value type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/Secret value: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@id': secret-id '@type': https://w3id.org/edc/v0.0.1/ns/Secret value: secret-value SuspendTransfer: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/SuspendTransfer state: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/SuspendTransfer reason: a reason to suspend TerminateNegotiationSchema: type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/TerminateNegotiation reason: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/TerminateNegotiation '@id': negotiation-id reason: a reason to terminate TerminateTransfer: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/TerminateTransfer state: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/TerminateTransfer reason: a reason to terminate TransferProcess: type: object properties: '@id': type: string '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/TransferProcess callbackAddresses: type: array items: $ref: "#/components/schemas/CallbackAddress" contractAgreementId: type: string counterPartyAddress: type: string counterPartyId: type: string dataDestination: $ref: "#/components/schemas/DataAddress" errorDetail: type: string privateProperties: $ref: "#/components/schemas/Properties" protocol: type: string state: type: string type: type: string enum: - CONSUMER - PROVIDER example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/TransferProcess '@id': process-id correlationId: correlation-id type: PROVIDER state: STARTED stateTimestamp: 1688465655 assetId: asset-id contractId: contractId dataDestination: type: data-destination-type privateProperties: private-key: private-value errorDetail: eventual-error-detail createdAt: 1688465655 callbackAddresses: - transactional: false uri: http://callback/url events: - contract.negotiation - transfer.process authKey: auth-key authCodeId: auth-code-id TransferRequest: required: - '@context' - contractId - counterPartyAddress - protocol - transferType type: object properties: '@context': type: object '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/TransferRequest assetId: type: string deprecated: true callbackAddresses: type: array items: $ref: "#/components/schemas/CallbackAddress" contractId: type: string counterPartyAddress: type: string dataDestination: $ref: "#/components/schemas/DataAddress" privateProperties: $ref: "#/components/schemas/Properties" protocol: type: string transferType: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/TransferRequest protocol: dataspace-protocol-http counterPartyAddress: http://provider-address contractId: contract-id transferType: transferType dataDestination: type: data-destination-type privateProperties: private-key: private-value callbackAddresses: - transactional: false uri: http://callback/url events: - contract.negotiation - transfer.process authKey: auth-key authCodeId: auth-code-id TransferState: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/TransferState state: type: string example: '@context': '@vocab': https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/TransferState state: STARTED