openapi: 3.0.1 info: title: management-api description: REST API documentation for the Eclipse EDC management-api. This does not include endpoints of the sovity EDC API Wrapper. version: 0.2.1 servers: - url: https://[MY_EDC_FQDN]/api/management 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 example: null 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 example: null requestBody: content: application/json: schema: $ref: '#/components/schemas/ProvisionerWebhookRequest' responses: default: description: default response content: application/json: { } /check/health: get: tags: - Application Observability description: Performs a liveness probe to determine whether the runtime is working properly. operationId: checkHealth responses: "200": description: The runtime is working properly. content: application/json: schema: $ref: '#/components/schemas/HealthStatus' /check/liveness: get: tags: - Application Observability description: Performs a liveness probe to determine whether the runtime is working properly. operationId: getLiveness responses: "200": description: The runtime is working properly. content: application/json: schema: $ref: '#/components/schemas/HealthStatus' /check/readiness: get: tags: - Application Observability description: Performs a readiness probe to determine whether the runtime is able to accept requests. operationId: getReadiness responses: "200": description: The runtime is able to accept requests. content: application/json: schema: $ref: '#/components/schemas/HealthStatus' /check/startup: get: tags: - Application Observability description: Performs a startup probe to determine whether the runtime has completed startup. operationId: getStartup responses: "200": description: The runtime has completed startup. content: application/json: schema: $ref: '#/components/schemas/HealthStatus' /select: post: tags: - Dataplane Selector description: Finds the best fitting data plane instance for a particular query operationId: find requestBody: content: '*/*': schema: $ref: '#/components/schemas/SelectionRequestSchema' responses: "200": description: The DataPlane instance that fits best for the given selection request content: '*/*': schema: $ref: '#/components/schemas/DataPlaneInstanceSchema' "204": description: No suitable DataPlane instance was found "400": description: Request body was malformed content: '*/*': schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/assets: put: tags: - Asset 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/Asset' responses: "200": description: Asset was updated successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: "Asset could not be updated, because it does not exist." deprecated: true post: tags: - Asset description: Creates a new asset together with a data address operationId: createAsset requestBody: content: application/json: schema: $ref: '#/components/schemas/AssetEntryNewDto' 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 example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' deprecated: true /v2/assets/request: post: tags: - Asset description: ' all assets according to a particular query' operationId: requestAssets requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySpec' responses: "200": description: The assets matching the query content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/Asset' "400": description: Request body was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' deprecated: true /v2/assets/{assetId}/dataaddress: put: tags: - Asset description: Updates a DataAddress for an asset with the given ID. operationId: updateDataAddress parameters: - name: assetId in: path required: true style: simple explode: false schema: type: string example: null requestBody: content: application/json: schema: $ref: '#/components/schemas/Asset' responses: "200": description: Asset was updated successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An asset with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' deprecated: true /v2/assets/{id}: get: tags: - Asset description: Gets an asset with the given ID operationId: getAsset parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null responses: "200": description: The asset content: application/json: schema: $ref: '#/components/schemas/Asset' "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An asset with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' deprecated: true delete: tags: - Asset 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: removeAsset parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null responses: "200": description: Asset was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An asset with the given ID does not exist content: application/json: schema: type: array example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' deprecated: true /v2/assets/{id}/dataaddress: get: tags: - Asset description: Gets a data address of an asset with the given ID operationId: getAssetDataAddress parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An asset with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' deprecated: true /v2/catalog/dataset/request: post: tags: - Catalog operationId: getDataset 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' /v2/catalog/request: post: tags: - Catalog operationId: requestCatalog 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' /v2/contractagreements/request: post: tags: - Contract Agreement description: Gets all contract agreements according to a particular query operationId: queryAllAgreements requestBody: content: '*/*': schema: $ref: '#/components/schemas/QuerySpec' responses: "200": description: The contract agreements matching the query content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ContractAgreement' "400": description: Request body was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractagreements/{id}: get: tags: - Contract Agreement description: Gets an contract agreement with the given ID operationId: getAgreementById parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An contract agreement with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractagreements/{id}/negotiation: get: tags: - Contract Agreement description: Gets a contract negotiation with the given contract agreement ID operationId: getNegotiationByAgreementId parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An contract agreement with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractdefinitions: put: tags: - Contract Definition description: Updated a contract definition with the given ID. The supplied JSON structure must be a valid JSON-LD object operationId: updateContractDefinition requestBody: content: '*/*': 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: A contract definition with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' post: tags: - Contract Definition description: Creates a new contract definition operationId: createContractDefinition requestBody: content: '*/*': 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 example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractdefinitions/request: post: tags: - Contract Definition description: Returns all contract definitions according to a query operationId: queryAllContractDefinitions requestBody: content: '*/*': schema: $ref: '#/components/schemas/QuerySpec' responses: "200": description: The contract definitions matching the query content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ContractDefinitionOutput' "400": description: Request was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractdefinitions/{id}: get: tags: - Contract Definition description: Gets an contract definition with the given ID operationId: getContractDefinition parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An contract agreement with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' delete: tags: - Contract Definition 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: deleteContractDefinition parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null responses: "200": description: Contract definition was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: A contract definition with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractnegotiations: post: tags: - Contract Negotiation 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: initiateContractNegotiation 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: getNegotiationState parameters: id: $response.body#/id "400": description: Request body was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractnegotiations/request: post: tags: - Contract Negotiation description: Returns all contract negotiations according to a query operationId: queryNegotiations 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 example: null items: $ref: '#/components/schemas/ContractNegotiation' "400": description: Request was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractnegotiations/{id}: get: tags: - Contract Negotiation description: Gets a contract negotiation with the given ID operationId: getNegotiation parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An contract negotiation with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractnegotiations/{id}/agreement: get: tags: - Contract Negotiation description: Gets a contract agreement for a contract negotiation with the given ID operationId: getAgreementForNegotiation parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An contract negotiation with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractnegotiations/{id}/cancel: post: tags: - Contract Negotiation description: "Requests aborting the contract negotiation. Due to the asynchronous\ \ nature of contract negotiations, a successful response only indicates that\ \ the request was successfully received. Clients must poll the /{id}/state\ \ endpoint to track the state." operationId: cancelNegotiation parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null responses: "200": description: Request to cancel the Contract negotiation was successfully received links: poll-state: operationId: getNegotiationState "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: A contract negotiation with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' deprecated: true /v2/contractnegotiations/{id}/decline: post: tags: - Contract Negotiation description: "Requests cancelling the contract negotiation. Due to the asynchronous\ \ nature of contract negotiations, a successful response only indicates that\ \ the request was successfully received. Clients must poll the /{id}/state\ \ endpoint to track the state." operationId: declineNegotiation parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null responses: "200": description: Request to decline the Contract negotiation was successfully received links: poll-state: operationId: getNegotiationState "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: A contract negotiation with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' deprecated: true /v2/contractnegotiations/{id}/state: get: tags: - Contract Negotiation description: Gets the state of a contract negotiation with the given ID operationId: getNegotiationState parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An contract negotiation with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/contractnegotiations/{id}/terminate: post: tags: - Contract Negotiation description: Terminates the contract negotiation. operationId: terminateNegotiation parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null requestBody: content: application/json: schema: $ref: '#/components/schemas/TerminateNegotiationSchema' responses: "200": description: ContractNegotiation is terminating links: poll-state: operationId: getNegotiationState "400": description: Request was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: A contract negotiation with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/dataplanes: get: tags: - Dataplane Selector description: Returns a list of all currently registered data plane instances operationId: getAll responses: "204": description: A (potentially empty) list of currently registered data plane instances "400": description: Request body was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' post: tags: - Dataplane Selector description: Adds one datatplane instance to the internal database of the selector operationId: addEntry requestBody: content: application/json: schema: $ref: '#/components/schemas/DataPlaneInstanceSchema' responses: "200": description: Entry was added successfully to the database "400": description: Request body was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/dataplanes/select: post: tags: - Dataplane Selector description: Finds the best fitting data plane instance for a particular query operationId: find_1 requestBody: content: application/json: schema: $ref: '#/components/schemas/SelectionRequestSchema' responses: "200": description: The DataPlane instance that fits best for the given selection request content: application/json: schema: $ref: '#/components/schemas/DataPlaneInstanceSchema' "204": description: No suitable DataPlane instance was found "400": description: Request body was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/policydefinitions: post: tags: - Policy Definition description: Creates a new policy definition operationId: createPolicyDefinition 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 example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/policydefinitions/request: post: tags: - Policy Definition description: Returns all policy definitions according to a query operationId: queryPolicyDefinitions requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySpec' responses: "200": description: The policy definitions matching the query content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/PolicyDefinitionOutput' "400": description: Request was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/policydefinitions/{id}: get: tags: - Policy Definition description: Gets a policy definition with the given ID operationId: getPolicyDefinition parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An policy definition with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' put: tags: - Policy Definition description: "Updates an existing Policy, If the Policy is not found, an error\ \ is reported" operationId: updatePolicyDefinition parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null requestBody: content: application/json: schema: $ref: '#/components/schemas/PolicyDefinitionInput' responses: "200": description: policy definition was updated successfully. Returns the Policy Definition Id and updated timestamp "400": description: Request body was malformed content: application/json: schema: type: array example: null 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 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: deletePolicyDefinition parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null responses: "200": description: Policy definition was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An policy definition with the given ID does not exist content: application/json: schema: type: array example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/transferprocesses: post: tags: - Transfer Process description: "Initiates a data transfer with the given parameters. Please note\ \ that successfully invoking this endpoint only means that the transfer was\ \ initiated. Clients must poll the /{id}/state endpoint to track the state" operationId: initiateTransferProcess 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: getTransferProcessState parameters: id: $response.body#/id "400": description: Request body was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/transferprocesses/request: post: tags: - Transfer Process description: Returns all transfer process according to a query operationId: queryTransferProcesses requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySpec' responses: "200": description: The transfer processes matching the query content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/TransferProcess' "400": description: Request was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/transferprocesses/{id}: get: tags: - Transfer Process description: Gets an transfer process with the given ID operationId: getTransferProcess parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: A transfer process with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/transferprocesses/{id}/deprovision: post: tags: - Transfer Process 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: deprovisionTransferProcess parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null responses: "200": description: Request to deprovision the transfer process was successfully received links: poll-state: operationId: getTransferProcessState "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: A contract negotiation with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/transferprocesses/{id}/state: get: tags: - Transfer Process description: Gets the state of a transfer process with the given ID operationId: getTransferProcessState parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An transfer process with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v2/transferprocesses/{id}/terminate: post: tags: - Transfer Process 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. Clients must poll the /{id}/state endpoint to\ \ track the state." operationId: terminateTransferProcess parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null requestBody: content: application/json: schema: $ref: '#/components/schemas/TerminateTransfer' responses: "200": description: Request to cancel the transfer process was successfully received links: poll-state: operationId: getTransferProcessState "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: A contract negotiation with the given ID does not exist content: application/json: schema: type: array example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v3/assets: put: tags: - Asset 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/AssetInput' responses: "200": description: Asset was updated successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: "Asset could not be updated, because it does not exist." post: tags: - Asset description: Creates a new asset together with a data address operationId: createAsset_1 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 example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v3/assets/request: post: tags: - Asset description: ' all assets according to a particular query' operationId: requestAssets_1 requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySpec' responses: "200": description: The assets matching the query content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/AssetOutput' "400": description: Request body was malformed content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' /v3/assets/{id}: get: tags: - Asset description: Gets an asset with the given ID operationId: getAsset_1 parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An asset with the given ID does not exist content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' delete: tags: - Asset 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: removeAsset_1 parameters: - name: id in: path required: true style: simple explode: false schema: type: string example: null responses: "200": description: Asset was deleted successfully "400": description: "Request was malformed, e.g. id was null" content: application/json: schema: type: array example: null items: $ref: '#/components/schemas/ApiErrorDetail' "404": description: An asset with the given ID does not exist content: application/json: schema: type: array example: null 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 example: null items: $ref: '#/components/schemas/ApiErrorDetail' components: schemas: ApiErrorDetail: type: object properties: invalidValue: type: object example: null message: type: string example: null path: type: string example: null type: type: string example: null example: null Asset: type: object properties: createdAt: type: integer format: int64 example: null dataAddress: $ref: '#/components/schemas/DataAddress' id: type: string example: null privateProperties: type: object additionalProperties: type: object example: null example: null properties: type: object additionalProperties: type: object example: null example: null example: null AssetEntryNewDto: type: object properties: asset: $ref: '#/components/schemas/Asset' dataAddress: $ref: '#/components/schemas/DataAddress' example: null AssetInput: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/Asset dataAddress: $ref: '#/components/schemas/DataAddress' privateProperties: type: object additionalProperties: type: object example: null example: null properties: type: object additionalProperties: type: object example: null example: null example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@id': asset-id properties: key: value privateProperties: privateKey: privateValue dataAddress: type: HttpData AssetOutput: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/Asset createdAt: type: integer format: int64 example: null dataAddress: $ref: '#/components/schemas/DataAddress' privateProperties: type: object additionalProperties: type: object example: null example: null properties: type: object additionalProperties: type: object example: null example: null example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@id': asset-id edc:properties: edc:key: value edc:privateProperties: edc:privateKey: privateValue edc:dataAddress: edc:type: HttpData edc:createdAt: 1688465655 CallbackAddress: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/CallbackAddress authCodeId: type: string example: null authKey: type: string example: null events: uniqueItems: true type: array example: null items: type: string example: null transactional: type: boolean example: null uri: type: string example: null example: null 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: [ ] odrl:target: bcca61be-e82e-4da6-bfec-9716a56cef35 dcat:distribution: - '@type': dcat:Distribution dct:format: '@id': HttpData dcat:accessService: 5e839777-d93e-4785-8972-1005f51cf367 edc:description: description edc: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 edc:participantId: urn:connector:provider '@context': dct: https://purl.org/dc/terms/ edc: https://w3id.org/edc/v0.0.1/ns/ dcat: https://www.w3.org/ns/dcat/ odrl: http://www.w3.org/ns/odrl/2/ dspace: https://w3id.org/dspace/v0.8/ CatalogRequest: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/CatalogRequest counterPartyAddress: type: string example: null protocol: type: string example: null providerUrl: type: string description: please use counterPartyAddress instead example: null deprecated: true querySpec: $ref: '#/components/schemas/QuerySpec' example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@type': CatalogRequest counterPartyAddress: http://provider-address protocol: dataspace-protocol-http querySpec: offset: 0 limit: 50 sortOrder: DESC sortField: fieldName filterExpression: [ ] ContractAgreement: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractAgreement assetId: type: string example: null consumerId: type: string example: null contractSigningDate: type: integer format: int64 example: null policy: $ref: '#/components/schemas/Policy' providerId: type: string example: null example: '@context': edc: 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: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractDefinition accessPolicyId: type: string example: null assetsSelector: type: array example: null items: $ref: '#/components/schemas/Criterion' contractPolicyId: type: string example: null example: '@context': edc: 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 example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractDefinition accessPolicyId: type: string example: null assetsSelector: type: array example: null items: $ref: '#/components/schemas/Criterion' contractPolicyId: type: string example: null createdAt: type: integer format: int64 example: null example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@id': definition-id edc:accessPolicyId: asset-policy-id edc:contractPolicyId: contract-policy-id edc:assetsSelector: [ ] edc:createdAt: 1688465655 ContractNegotiation: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractNegotiation callbackAddresses: type: array example: null items: $ref: '#/components/schemas/CallbackAddress' contractAgreementId: type: string example: null counterPartyAddress: type: string example: null counterPartyId: type: string example: null errorDetail: type: string example: null protocol: type: string example: null state: type: string example: null type: type: string example: null enum: - CONSUMER - PROVIDER example: '@context': edc: 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 ContractOfferDescription: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractOfferDescription assetId: type: string example: null offerId: type: string example: null policy: $ref: '#/components/schemas/Policy' example: null ContractRequest: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/ContractRequest callbackAddresses: type: array example: null items: $ref: '#/components/schemas/CallbackAddress' connectorAddress: type: string example: null connectorId: type: string description: please use providerId instead example: null deprecated: true consumerId: type: string description: this field is not used anymore example: null deprecated: true offer: $ref: '#/components/schemas/ContractOfferDescription' protocol: type: string example: null providerId: type: string example: null example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/ContractRequest connectorAddress: http://provider-address protocol: dataspace-protocol-http providerId: provider-id offer: offerId: offer-id assetId: asset-id policy: '@context': http://www.w3.org/ns/odrl.jsonld '@type': Set '@id': offer-id permission: - target: asset-id action: display callbackAddresses: - transactional: false uri: http://callback/url events: - contract.negotiation - transfer.process authKey: auth-key authCodeId: auth-code-id Criterion: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/Criterion operandLeft: type: object example: null operandRight: type: object example: null operator: type: string example: null example: '@context': edc: 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 example: null example: null DataPlaneInstanceSchema: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/DataPlaneInstance allowedDestTypes: uniqueItems: true type: array example: null items: type: string example: null allowedSourceTypes: uniqueItems: true type: array example: null items: type: string example: null lastActive: type: integer format: int64 example: null turnCount: type: integer format: int32 example: null url: type: string format: url example: null example: '@id': your-dataplane-id url: http://somewhere.com:1234/api/v1 allowedSourceTypes: - source-type1 - source-type2 allowedDestTypes: - your-dest-type 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 edc:description: description edc:id: bcca61be-e82e-4da6-bfec-9716a56cef35 '@context': dct: https://purl.org/dc/terms/ edc: https://w3id.org/edc/v0.0.1/ns/ dcat: https://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 example: null protocol: type: string example: null querySpec: $ref: '#/components/schemas/QuerySpec' example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@type': DatasetRequest '@id': dataset-id counterPartyAddress: http://counter-party-address protocol: dataspace-protocol-http DeprovisionedResource: type: object properties: error: type: boolean example: null errorMessage: type: string example: null inProcess: type: boolean example: null provisionedResourceId: type: string example: null example: null Failure: type: object properties: failureDetail: type: string example: null messages: type: array example: null items: type: string example: null example: null HealthCheckResult: type: object properties: component: type: string example: null failure: $ref: '#/components/schemas/Failure' isHealthy: type: boolean example: null example: null HealthStatus: type: object properties: componentResults: type: array example: null items: $ref: '#/components/schemas/HealthCheckResult' isSystemHealthy: type: boolean example: null example: null IdResponse: type: object properties: '@id': type: string example: null createdAt: type: integer format: int64 example: null example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@id': id-value createdAt: 1688465655 JsonArray: type: array properties: empty: type: boolean example: null valueType: type: string example: null enum: - ARRAY - OBJECT - STRING - NUMBER - "TRUE" - "FALSE" - "NULL" example: null items: $ref: '#/components/schemas/JsonValue' JsonObject: type: object properties: empty: type: boolean example: null valueType: type: string example: null enum: - ARRAY - OBJECT - STRING - NUMBER - "TRUE" - "FALSE" - "NULL" additionalProperties: $ref: '#/components/schemas/JsonValue' example: null JsonValue: type: object properties: valueType: type: string example: null enum: - ARRAY - OBJECT - STRING - NUMBER - "TRUE" - "FALSE" - "NULL" example: null NegotiationState: type: object properties: state: type: string example: null example: null 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: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/PolicyDefinition policy: $ref: '#/components/schemas/Policy' example: '@context': edc: 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 PolicyDefinitionOutput: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/PolicyDefinition policy: $ref: '#/components/schemas/Policy' example: '@context': edc: 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 ProvisionerWebhookRequest: type: object properties: apiKeyJwt: type: string example: null assetId: type: string example: null contentDataAddress: $ref: '#/components/schemas/DataAddress' hasToken: type: boolean example: null resourceDefinitionId: type: string example: null resourceName: type: string example: null example: null QuerySpec: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/QuerySpec filterExpression: type: array example: null items: $ref: '#/components/schemas/Criterion' limit: type: integer format: int32 example: null offset: type: integer format: int32 example: null sortField: type: string example: null sortOrder: type: string example: null enum: - ASC - DESC example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@type': QuerySpec offset: 5 limit: 10 sortOrder: DESC sortField: fieldName filterExpression: [ ] SelectionRequestSchema: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/SelectionRequest destination: $ref: '#/components/schemas/DataAddress' source: $ref: '#/components/schemas/DataAddress' strategy: type: string example: null example: source: '@type': https://w3id.org/edc/v0.0.1/ns/DataAddress type: test-src1 destination: '@type': https://w3id.org/edc/v0.0.1/ns/DataAddress type: test-dst2 strategy: you_custom_strategy TerminateNegotiationSchema: type: object properties: '@id': type: string example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/TerminateNegotiation reason: type: string example: null example: '@context': edc: 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/TransferState state: type: string example: null example: '@context': edc: 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 example: null '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/TransferProcess callbackAddresses: type: array example: null items: $ref: '#/components/schemas/CallbackAddress' contractAgreementId: type: string example: null counterPartyAddress: type: string example: null counterPartyId: type: string example: null errorDetail: type: string example: null privateProperties: type: object additionalProperties: type: object example: null example: null properties: type: object additionalProperties: type: string example: null deprecated: true example: null deprecated: true protocol: type: string example: null state: type: string example: null type: type: string example: null enum: - CONSUMER - PROVIDER example: '@context': edc: 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 connectorId: connectorId 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: type: object properties: '@type': type: string example: https://w3id.org/edc/v0.0.1/ns/TransferRequest assetId: type: string example: null callbackAddresses: type: array example: null items: $ref: '#/components/schemas/CallbackAddress' connectorAddress: type: string example: null connectorId: type: string example: null contractId: type: string example: null dataDestination: $ref: '#/components/schemas/DataAddress' privateProperties: type: object additionalProperties: type: string example: null example: null properties: type: object additionalProperties: type: string description: "Deprecated as this field is not used anymore, please use\ \ privateProperties instead" example: null deprecated: true description: "Deprecated as this field is not used anymore, please use privateProperties\ \ instead" example: null deprecated: true protocol: type: string example: null example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/TransferRequest protocol: dataspace-protocol-http connectorAddress: http://provider-address connectorId: provider-id contractId: contract-id assetId: asset-id 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: null example: '@context': edc: https://w3id.org/edc/v0.0.1/ns/ '@type': https://w3id.org/edc/v0.0.1/ns/TransferState state: STARTED