EDC Connector API
API Reference

UI API

EDC UI API Endpoints

Build Info

GET
/wrapper/ui/build-info

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/build-info", {  method: "GET"})
{
  "buildDate": "2021-02-03T04:05:06.789Z",
  "buildVersion": "v4.5.1-1445-gff95cb8e2"
}

Ui Config

GET
/wrapper/ui/config

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/config", {  method: "GET"})
{
  "features": [
    "CONNECTOR_LIMITS"
  ],
  "preconfiguredCounterparties": [
    {
      "participantId": "string",
      "connectorEndpoint": "string"
    }
  ],
  "logoutUrl": "string",
  "documentationUrl": "string",
  "supportUrl": "string",
  "privacyPolicyUrl": "string",
  "legalNoticeUrl": "string"
}

Get Dashboard Page

GET
/wrapper/ui/pages/dashboard-page

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/dashboard-page", {  method: "GET"})
{
  "numAssets": 0,
  "numPolicies": 0,
  "numContractDefinitions": 0,
  "numContractAgreementsConsuming": 0,
  "numContractAgreementsProviding": 0,
  "transferProcessesConsuming": {
    "numTotal": 0,
    "numRunning": 0,
    "numOk": 0,
    "numError": 0
  },
  "transferProcessesProviding": {
    "numTotal": 0,
    "numRunning": 0,
    "numOk": 0,
    "numError": 0
  },
  "managementApiUrlShownInDashboard": "string",
  "connectorEndpoint": "string",
  "connectorParticipantId": "string",
  "connectorTitle": "string",
  "connectorDescription": "string",
  "connectorCuratorUrl": "string",
  "connectorCuratorName": "string",
  "connectorMaintainerUrl": "string",
  "connectorMaintainerName": "string",
  "connectorDapsConfig": {
    "tokenUrl": "string",
    "jwksUrl": "string"
  },
  "connectorCxDidConfig": {
    "myDid": "string",
    "walletTokenUrl": "string",
    "trustedVcIssuer": "string",
    "bdrsUrl": "string",
    "dimUrl": "string"
  }
}

Get Asset Page

GET
/wrapper/ui/pages/asset-page

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/asset-page", {  method: "GET"})
{
  "assets": [
    {
      "dataSourceAvailability": "LIVE",
      "assetId": "string",
      "connectorEndpoint": "string",
      "participantId": "string",
      "title": "string",
      "creatorOrganizationName": "string",
      "onRequestContactEmail": "contact@my-org.com",
      "onRequestContactEmailSubject": "Department XYZ Data Offer Request - My Product, My API",
      "language": "string",
      "description": "string",
      "descriptionShortText": "string",
      "isOwnConnector": true,
      "publisherHomepage": "string",
      "licenseUrl": "string",
      "version": "string",
      "keywords": [
        "string"
      ],
      "mediaType": "string",
      "landingPageUrl": "string",
      "httpDatasourceHintsProxyMethod": true,
      "httpDatasourceHintsProxyPath": true,
      "httpDatasourceHintsProxyQueryParams": true,
      "httpDatasourceHintsProxyBody": true,
      "dataCategory": "string",
      "dataSubcategory": "string",
      "dataModel": "string",
      "geoReferenceMethod": "string",
      "transportMode": "string",
      "sovereignLegalName": "string",
      "geoLocation": "string",
      "nutsLocations": [
        "string"
      ],
      "dataSampleUrls": [
        "string"
      ],
      "referenceFileUrls": [
        "string"
      ],
      "referenceFilesDescription": "string",
      "conditionsForUse": "string",
      "dataUpdateFrequency": "string",
      "temporalCoverageFrom": "2019-08-24",
      "temporalCoverageToInclusive": "2019-08-24",
      "assetJsonLd": "string",
      "customJsonAsString": "string",
      "customJsonLdAsString": "string",
      "privateCustomJsonAsString": "string",
      "privateCustomJsonLdAsString": "string"
    }
  ]
}

Create Asset

POST
/wrapper/ui/pages/asset-page/assets

Request Body

application/json

dataSource*

Data Source

id*string

Asset Id

title?string

Asset Title

language?string

Asset Language

description?string

Asset Description

publisherHomepage?string

Asset Homepage

licenseUrl?string

License URL

version?string

Version

keywords?array<string>

Asset Keywords

mediaType?string

Asset MediaType

landingPageUrl?string

Landing Page URL

dataCategory?string

Data Category

dataSubcategory?string

Data Subcategory

dataModel?string

Data Model

geoReferenceMethod?string

Geo-Reference Method

transportMode?string

Transport Mode

sovereignLegalName?string

The sovereign is distinct from the publisher by being the legal owner of the data.

geoLocation?string

Geo location

nutsLocations?array<string>

Locations by NUTS standard which divides countries into administrative divisions

dataSampleUrls?array<string>

Data sample URLs

referenceFileUrls?array<string>

Reference file/schema URLs

referenceFilesDescription?string

Additional information on reference files/schemas

conditionsForUse?string

Instructions for use that are not legally relevant e.g. information on how to cite the dataset in papers

dataUpdateFrequency?string

Data update frequency

temporalCoverageFrom?string

Temporal coverage start date

Formatdate
temporalCoverageToInclusive?string

Temporal coverage end date (inclusive)

Formatdate
customJsonAsString?string

Contains serialized custom properties in the JSON format.

customJsonLdAsString?string

Contains serialized custom properties in the JSON LD format. Contrary to the customJsonAsString field, this string must represent a JSON LD object and will be affected by JSON LD compaction and expansion. Due to a technical limitation, the properties can't be booleans.

privateCustomJsonAsString?string

Same as customJsonAsString but the data will be stored in the private properties.

privateCustomJsonLdAsString?string

Same as customJsonLdAsString but the data will be stored in the private properties. The same limitations apply.

Response Body

application/json

const body = JSON.stringify({  "dataSource": {    "type": "HTTP_DATA"  },  "id": "string"})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/asset-page/assets", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Delete Asset

DELETE
/wrapper/ui/pages/asset-page/assets/{assetId}

Path Parameters

assetId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/asset-page/assets/string", {  method: "DELETE"})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Edit Asset

PUT
/wrapper/ui/pages/asset-page/assets/{assetId}

Path Parameters

assetId*string

Request Body

application/json

dataSourceOverrideOrNull?

Data Source

title?string

Asset Title

language?string

Asset Language

description?string

Asset Description

publisherHomepage?string

Asset Homepage

licenseUrl?string

License URL

version?string

Version

keywords?array<string>

Asset Keywords

mediaType?string

Asset MediaType

landingPageUrl?string

Landing Page URL

dataCategory?string

Data Category

dataSubcategory?string

Data Subcategory

dataModel?string

Data Model

geoReferenceMethod?string

Geo-Reference Method

transportMode?string

Transport Mode

sovereignLegalName?string

The sovereign is distinct from the publisher by being the legal owner of the data.

geoLocation?string

Geo location

nutsLocations?array<string>

Locations by NUTS standard which divides countries into administrative divisions

dataSampleUrls?array<string>

Data sample URLs

referenceFileUrls?array<string>

Reference file/schema URLs

referenceFilesDescription?string

Additional information on reference files/schemas

conditionsForUse?string

Instructions for use that are not legally relevant e.g. information on how to cite the dataset in papers

dataUpdateFrequency?string

Data update frequency

temporalCoverageFrom?string

Temporal coverage start date

Formatdate
temporalCoverageToInclusive?string

Temporal coverage end date (inclusive)

Formatdate
customJsonAsString?string

Contains serialized custom properties in the JSON format.

customJsonLdAsString?string

Contains serialized custom properties in the JSON LD format. Contrary to the customJsonAsString field, this string must represent a JSON LD object and will be affected by JSON LD compaction and expansion. Due to a technical limitation, the properties can't be booleans.

privateCustomJsonAsString?string

Same as customJsonAsString but the data will be stored in the private properties.

privateCustomJsonLdAsString?string

Same as customJsonLdAsString but the data will be stored in the private properties. The same limitations apply.

Response Body

application/json

const body = JSON.stringify({})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/asset-page/assets/string", {  method: "PUT",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Is Asset Id Available

GET
/wrapper/ui/pages/data-offer-page/validate-asset-id/{assetId}

Path Parameters

assetId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/data-offer-page/validate-asset-id/string", {  method: "GET"})
{
  "id": "string",
  "available": true
}

Get Policy Definition Page

GET
/wrapper/ui/pages/policy-page

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/policy-page", {  method: "GET"})
{
  "policies": [
    {
      "policyDefinitionId": "string",
      "policy": {
        "policyJsonLd": "string",
        "expression": {
          "type": "EMPTY",
          "expressions": [
            {
              "type": "EMPTY",
              "expressions": [],
              "constraint": {
                "left": "string",
                "operator": "EQ",
                "right": {
                  "type": "STRING",
                  "value": "string",
                  "valueList": [
                    "string"
                  ]
                }
              }
            }
          ],
          "constraint": {
            "left": "string",
            "operator": "EQ",
            "right": {
              "type": "STRING",
              "value": "string",
              "valueList": [
                "string"
              ]
            }
          }
        },
        "errors": [
          "string"
        ]
      }
    }
  ]
}

Create Policy Definition

POST
/wrapper/ui/pages/policy-page/policy-definitions

Request Body

application/json

policyDefinitionId*string

Policy Definition ID

policy*Deprecated

[Deprecated] Conjunction of constraints (simplified UiPolicyExpression)

Response Body

application/json

const body = JSON.stringify({  "policyDefinitionId": "string",  "policy": {}})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/policy-page/policy-definitions", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Create Policy Definition V2

POST
/wrapper/ui/v2/pages/policy-page/policy-definitions

Request Body

application/json

policyDefinitionId*string

Policy Definition ID

expression*

Policy Expression

Response Body

application/json

const body = JSON.stringify({  "policyDefinitionId": "string",  "expression": {    "type": "EMPTY"  }})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/v2/pages/policy-page/policy-definitions", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Delete Policy Definition

DELETE
/wrapper/ui/pages/policy-page/policy-definitions/{policyId}

Path Parameters

policyId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/policy-page/policy-definitions/string", {  method: "DELETE"})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Is Policy Id Available

GET
/wrapper/ui/pages/data-offer-page/validate-policy-id/{policyId}

Path Parameters

policyId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/data-offer-page/validate-policy-id/string", {  method: "GET"})
{
  "id": "string",
  "available": true
}

Get Contract Definition Page

GET
/wrapper/ui/pages/contract-definition-page

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/contract-definition-page", {  method: "GET"})
{
  "contractDefinitions": [
    {
      "contractDefinitionId": "string",
      "accessPolicyId": "string",
      "contractPolicyId": "string",
      "assetSelector": [
        {
          "operandLeft": "string",
          "operator": "EQ",
          "operandRight": {
            "type": "VALUE",
            "value": "string",
            "valueList": [
              "string"
            ]
          }
        }
      ]
    }
  ]
}

Create Contract Definition

POST
/wrapper/ui/pages/contract-definition-page/contract-definitions

Request Body

application/json

contractDefinitionId*string

Contract Definition ID

contractPolicyId*string

Contract Policy ID

accessPolicyId*string

Access Policy ID

assetSelector*

List of Criteria for the contract

Response Body

application/json

const body = JSON.stringify({  "contractDefinitionId": "string",  "contractPolicyId": "string",  "accessPolicyId": "string",  "assetSelector": [    {      "operandLeft": "string",      "operator": "EQ",      "operandRight": {}    }  ]})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/contract-definition-page/contract-definitions", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Delete Contract Definition

DELETE
/wrapper/ui/pages/contract-definition-page/contract-definitions/{contractDefinitionId}

Path Parameters

contractDefinitionId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/contract-definition-page/contract-definitions/string", {  method: "DELETE"})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Is Contract Definition Id Available

GET
/wrapper/ui/pages/data-offer-page/validate-contract-definition-id/{contractDefinitionId}

Path Parameters

contractDefinitionId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/data-offer-page/validate-contract-definition-id/string", {  method: "GET"})
{
  "id": "string",
  "available": true
}

Create Data Offer

POST
/wrapper/ui/pages/create-data-offer

Request Body

application/json

asset*

The asset to create

publishType*string

Decides whether the data offer is to be published:

  • DONT_PUBLISH - Data offer is not published. Only an asset is created.
  • PUBLISH_UNRESTRICTED - Creates the asset and publishes it using the always-true policy.
  • PUBLISH_RESTRICTED - Creates the asset and publishes it with a newly created policy definition with the given policy expression
Value in"DONT_PUBLISH" | "PUBLISH_UNRESTRICTED" | "PUBLISH_RESTRICTED"
policyExpression?

Policy Expression. Only relevant if policyType is 'RESTRICTED'

Response Body

application/json

const body = JSON.stringify({  "asset": {    "dataSource": {      "type": "HTTP_DATA"    },    "id": "string"  },  "publishType": "DONT_PUBLISH"})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/create-data-offer", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Get Catalog Page Data Offers

GET
/wrapper/ui/pages/catalog-page/data-offers

Query Parameters

participantId?string

The participant ID of the target connector

connectorEndpoint?string

The endpoint URL of the target connector

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/catalog-page/data-offers", {  method: "GET"})
[
  {
    "endpoint": "string",
    "participantId": "string",
    "asset": {
      "dataSourceAvailability": "LIVE",
      "assetId": "string",
      "connectorEndpoint": "string",
      "participantId": "string",
      "title": "string",
      "creatorOrganizationName": "string",
      "onRequestContactEmail": "contact@my-org.com",
      "onRequestContactEmailSubject": "Department XYZ Data Offer Request - My Product, My API",
      "language": "string",
      "description": "string",
      "descriptionShortText": "string",
      "isOwnConnector": true,
      "publisherHomepage": "string",
      "licenseUrl": "string",
      "version": "string",
      "keywords": [
        "string"
      ],
      "mediaType": "string",
      "landingPageUrl": "string",
      "httpDatasourceHintsProxyMethod": true,
      "httpDatasourceHintsProxyPath": true,
      "httpDatasourceHintsProxyQueryParams": true,
      "httpDatasourceHintsProxyBody": true,
      "dataCategory": "string",
      "dataSubcategory": "string",
      "dataModel": "string",
      "geoReferenceMethod": "string",
      "transportMode": "string",
      "sovereignLegalName": "string",
      "geoLocation": "string",
      "nutsLocations": [
        "string"
      ],
      "dataSampleUrls": [
        "string"
      ],
      "referenceFileUrls": [
        "string"
      ],
      "referenceFilesDescription": "string",
      "conditionsForUse": "string",
      "dataUpdateFrequency": "string",
      "temporalCoverageFrom": "2019-08-24",
      "temporalCoverageToInclusive": "2019-08-24",
      "assetJsonLd": "string",
      "customJsonAsString": "string",
      "customJsonLdAsString": "string",
      "privateCustomJsonAsString": "string",
      "privateCustomJsonLdAsString": "string"
    },
    "contractOffers": [
      {
        "contractOfferId": "string",
        "policy": {
          "policyJsonLd": "string",
          "expression": {
            "type": "EMPTY",
            "expressions": [
              {
                "type": "EMPTY",
                "expressions": [],
                "constraint": {
                  "left": "string",
                  "operator": "EQ",
                  "right": {
                    "type": "STRING",
                    "value": "string",
                    "valueList": [
                      "string"
                    ]
                  }
                }
              }
            ],
            "constraint": {
              "left": "string",
              "operator": "EQ",
              "right": {
                "type": "STRING",
                "value": "string",
                "valueList": [
                  "string"
                ]
              }
            }
          },
          "errors": [
            "string"
          ]
        }
      }
    ]
  }
]

Initiate Contract Negotiation

POST
/wrapper/ui/pages/catalog-page/contract-negotiations

Request Body

application/json

counterPartyId*string

Counter Party Id

counterPartyAddress*string

Counter Party Address

contractOfferId*string

Contract Offer Dto

policyJsonLd*string

Policy JsonLd

assetId*string

Asset ID

Response Body

application/json

const body = JSON.stringify({  "counterPartyId": "string",  "counterPartyAddress": "string",  "contractOfferId": "string",  "policyJsonLd": "string",  "assetId": "string"})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/catalog-page/contract-negotiations", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "contractNegotiationId": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "contractAgreementId": "string",
  "state": {
    "name": "string",
    "code": 0,
    "simplifiedState": "IN_PROGRESS"
  }
}

Get Contract Negotiation

GET
/wrapper/ui/pages/catalog-page/contract-negotiations/{contractNegotiationId}

Path Parameters

contractNegotiationId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/catalog-page/contract-negotiations/string", {  method: "GET"})
{
  "contractNegotiationId": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "contractAgreementId": "string",
  "state": {
    "name": "string",
    "code": 0,
    "simplifiedState": "IN_PROGRESS"
  }
}

Get Contract Agreement Page

POST
/wrapper/ui/pages/contract-agreement-page

Request Body

application/json

If null, returns all the contract agreements.

terminationStatus?string

Optionally filter the resulting contract agreements by their termination status.

Value in"ONGOING" | "TERMINATED"

Response Body

application/json

const body = JSON.stringify({})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/contract-agreement-page", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "contractAgreements": [
    {
      "contractAgreementId": "string",
      "contractNegotiationId": "string",
      "direction": "CONSUMING",
      "counterPartyAddress": "string",
      "counterPartyId": "string",
      "contractSigningDate": "2019-08-24T14:15:22Z",
      "asset": {
        "dataSourceAvailability": "LIVE",
        "assetId": "string",
        "connectorEndpoint": "string",
        "participantId": "string",
        "title": "string",
        "creatorOrganizationName": "string",
        "onRequestContactEmail": "contact@my-org.com",
        "onRequestContactEmailSubject": "Department XYZ Data Offer Request - My Product, My API",
        "language": "string",
        "description": "string",
        "descriptionShortText": "string",
        "isOwnConnector": true,
        "publisherHomepage": "string",
        "licenseUrl": "string",
        "version": "string",
        "keywords": [
          "string"
        ],
        "mediaType": "string",
        "landingPageUrl": "string",
        "httpDatasourceHintsProxyMethod": true,
        "httpDatasourceHintsProxyPath": true,
        "httpDatasourceHintsProxyQueryParams": true,
        "httpDatasourceHintsProxyBody": true,
        "dataCategory": "string",
        "dataSubcategory": "string",
        "dataModel": "string",
        "geoReferenceMethod": "string",
        "transportMode": "string",
        "sovereignLegalName": "string",
        "geoLocation": "string",
        "nutsLocations": [
          "string"
        ],
        "dataSampleUrls": [
          "string"
        ],
        "referenceFileUrls": [
          "string"
        ],
        "referenceFilesDescription": "string",
        "conditionsForUse": "string",
        "dataUpdateFrequency": "string",
        "temporalCoverageFrom": "2019-08-24",
        "temporalCoverageToInclusive": "2019-08-24",
        "assetJsonLd": "string",
        "customJsonAsString": "string",
        "customJsonLdAsString": "string",
        "privateCustomJsonAsString": "string",
        "privateCustomJsonLdAsString": "string"
      },
      "contractPolicy": {
        "policyJsonLd": "string",
        "expression": {
          "type": "EMPTY",
          "expressions": [
            {
              "type": "EMPTY",
              "expressions": [],
              "constraint": {
                "left": "string",
                "operator": "EQ",
                "right": {
                  "type": "STRING",
                  "value": "string",
                  "valueList": [
                    "string"
                  ]
                }
              }
            }
          ],
          "constraint": {
            "left": "string",
            "operator": "EQ",
            "right": {
              "type": "STRING",
              "value": "string",
              "valueList": [
                "string"
              ]
            }
          }
        },
        "errors": [
          "string"
        ]
      },
      "transferProcesses": [
        {
          "transferProcessId": "string",
          "lastUpdatedDate": "2019-08-24T14:15:22Z",
          "state": {
            "name": "string",
            "code": 0,
            "simplifiedState": "RUNNING"
          },
          "errorMessage": "string"
        }
      ],
      "terminationStatus": "ONGOING",
      "terminationInformation": {
        "terminatedAt": "2019-08-24T14:15:22Z",
        "reason": "string",
        "detail": "string",
        "terminatedBy": "SELF"
      }
    }
  ]
}

Get Contract Agreement Card

GET
/wrapper/ui/pages/contract-agreement-page/{contractAgreementId}

Path Parameters

contractAgreementId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/contract-agreement-page/string", {  method: "GET"})
{
  "contractAgreementId": "string",
  "contractNegotiationId": "string",
  "direction": "CONSUMING",
  "counterPartyAddress": "string",
  "counterPartyId": "string",
  "contractSigningDate": "2019-08-24T14:15:22Z",
  "asset": {
    "dataSourceAvailability": "LIVE",
    "assetId": "string",
    "connectorEndpoint": "string",
    "participantId": "string",
    "title": "string",
    "creatorOrganizationName": "string",
    "onRequestContactEmail": "contact@my-org.com",
    "onRequestContactEmailSubject": "Department XYZ Data Offer Request - My Product, My API",
    "language": "string",
    "description": "string",
    "descriptionShortText": "string",
    "isOwnConnector": true,
    "publisherHomepage": "string",
    "licenseUrl": "string",
    "version": "string",
    "keywords": [
      "string"
    ],
    "mediaType": "string",
    "landingPageUrl": "string",
    "httpDatasourceHintsProxyMethod": true,
    "httpDatasourceHintsProxyPath": true,
    "httpDatasourceHintsProxyQueryParams": true,
    "httpDatasourceHintsProxyBody": true,
    "dataCategory": "string",
    "dataSubcategory": "string",
    "dataModel": "string",
    "geoReferenceMethod": "string",
    "transportMode": "string",
    "sovereignLegalName": "string",
    "geoLocation": "string",
    "nutsLocations": [
      "string"
    ],
    "dataSampleUrls": [
      "string"
    ],
    "referenceFileUrls": [
      "string"
    ],
    "referenceFilesDescription": "string",
    "conditionsForUse": "string",
    "dataUpdateFrequency": "string",
    "temporalCoverageFrom": "2019-08-24",
    "temporalCoverageToInclusive": "2019-08-24",
    "assetJsonLd": "string",
    "customJsonAsString": "string",
    "customJsonLdAsString": "string",
    "privateCustomJsonAsString": "string",
    "privateCustomJsonLdAsString": "string"
  },
  "contractPolicy": {
    "policyJsonLd": "string",
    "expression": {
      "type": "EMPTY",
      "expressions": [
        {
          "type": "EMPTY",
          "expressions": [],
          "constraint": {
            "left": "string",
            "operator": "EQ",
            "right": {
              "type": "STRING",
              "value": "string",
              "valueList": [
                "string"
              ]
            }
          }
        }
      ],
      "constraint": {
        "left": "string",
        "operator": "EQ",
        "right": {
          "type": "STRING",
          "value": "string",
          "valueList": [
            "string"
          ]
        }
      }
    },
    "errors": [
      "string"
    ]
  },
  "transferProcesses": [
    {
      "transferProcessId": "string",
      "lastUpdatedDate": "2019-08-24T14:15:22Z",
      "state": {
        "name": "string",
        "code": 0,
        "simplifiedState": "RUNNING"
      },
      "errorMessage": "string"
    }
  ],
  "terminationStatus": "ONGOING",
  "terminationInformation": {
    "terminatedAt": "2019-08-24T14:15:22Z",
    "reason": "string",
    "detail": "string",
    "terminatedBy": "SELF"
  }
}

Terminate Contract Agreement

POST
/wrapper/ui/pages/content-agreement-page/{contractAgreementId}/terminate

Path Parameters

contractAgreementId*string

Request Body

application/json

detail*string

A user explanation to detail why the contract was terminated.

Length0 <= length <= 1000
reason*string

A short reason why this contract was terminated

Length0 <= length <= 100

Response Body

application/json

const body = JSON.stringify({  "detail": "string",  "reason": "string"})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/content-agreement-page/string/terminate", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Initiate Transfer

POST
/wrapper/ui/pages/contract-agreement-page/transfers

Request Body

application/json

contractAgreementId*string

Contract Agreement ID

transferType*string

Transfer Type. Used to select a compatible DataPlane. Examples are 'HttpData-PUSH', 'HttpData-PULL'. Not to be confused with the 'type' of the data source, or the 'type' of the data sink found in the 'properties'

dataSinkProperties*

Data Sink / Data Address

transferProcessProperties*

Additional transfer process properties. These are not passed to the consumer EDC

Response Body

application/json

const body = JSON.stringify({  "contractAgreementId": "string",  "transferType": "string",  "dataSinkProperties": {    "property1": "string",    "property2": "string"  },  "transferProcessProperties": {    "property1": "string",    "property2": "string"  }})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/contract-agreement-page/transfers", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Initiate Custom Transfer

POST
/wrapper/ui/pages/contract-agreement-page/transfers/custom

Request Body

application/json

contractAgreementId*string

Contract Agreement ID

transferProcessRequestJsonLd*string

Partial TransferProcessRequestJsonLd JSON-LD. Fields participantId, connectorEndpoint, assetId and contractId can be omitted, they will be overridden with information from the contract.

Response Body

application/json

const body = JSON.stringify({  "contractAgreementId": "string",  "transferProcessRequestJsonLd": "string"})fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/contract-agreement-page/transfers/custom", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
{
  "id": "string",
  "lastUpdatedDate": "2019-08-24T14:15:22Z"
}

Get Transfer History Page

GET
/wrapper/ui/pages/transfer-history-page

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/transfer-history-page", {  method: "GET"})
{
  "transferEntries": [
    {
      "transferProcessId": "string",
      "createdDate": "2019-08-24T14:15:22Z",
      "lastUpdatedDate": "2019-08-24T14:15:22Z",
      "state": {
        "name": "string",
        "code": 0,
        "simplifiedState": "RUNNING"
      },
      "contractAgreementId": "string",
      "direction": "CONSUMING",
      "counterPartyConnectorEndpoint": "string",
      "counterPartyParticipantId": "string",
      "assetName": "string",
      "assetId": "string",
      "errorMessage": "string"
    }
  ]
}

Get Transfer Process Asset

GET
/wrapper/ui/pages/transfer-history-page/transfer-processes/{transferProcessId}/asset

Path Parameters

transferProcessId*string

Response Body

application/json

fetch("https://api.your-connector-instance.prod.truzztbox.eu/api/management/wrapper/ui/pages/transfer-history-page/transfer-processes/string/asset", {  method: "GET"})
{
  "dataSourceAvailability": "LIVE",
  "assetId": "string",
  "connectorEndpoint": "string",
  "participantId": "string",
  "title": "string",
  "creatorOrganizationName": "string",
  "onRequestContactEmail": "contact@my-org.com",
  "onRequestContactEmailSubject": "Department XYZ Data Offer Request - My Product, My API",
  "language": "string",
  "description": "string",
  "descriptionShortText": "string",
  "isOwnConnector": true,
  "publisherHomepage": "string",
  "licenseUrl": "string",
  "version": "string",
  "keywords": [
    "string"
  ],
  "mediaType": "string",
  "landingPageUrl": "string",
  "httpDatasourceHintsProxyMethod": true,
  "httpDatasourceHintsProxyPath": true,
  "httpDatasourceHintsProxyQueryParams": true,
  "httpDatasourceHintsProxyBody": true,
  "dataCategory": "string",
  "dataSubcategory": "string",
  "dataModel": "string",
  "geoReferenceMethod": "string",
  "transportMode": "string",
  "sovereignLegalName": "string",
  "geoLocation": "string",
  "nutsLocations": [
    "string"
  ],
  "dataSampleUrls": [
    "string"
  ],
  "referenceFileUrls": [
    "string"
  ],
  "referenceFilesDescription": "string",
  "conditionsForUse": "string",
  "dataUpdateFrequency": "string",
  "temporalCoverageFrom": "2019-08-24",
  "temporalCoverageToInclusive": "2019-08-24",
  "assetJsonLd": "string",
  "customJsonAsString": "string",
  "customJsonLdAsString": "string",
  "privateCustomJsonAsString": "string",
  "privateCustomJsonLdAsString": "string"
}