From 10fe20df32176b1a67c6887c13ef5349f83ce2c4 Mon Sep 17 00:00:00 2001 From: gitops_test Date: Fri, 28 Aug 2026 13:32:15 +0000 Subject: [PATCH] Add openapisdtoolingtier1v1_20260828_133215.yaml --- openapisdtoolingtier1v1_20260828_133215.yaml | 2114 ++++++++++++++++++ 1 file changed, 2114 insertions(+) create mode 100644 openapisdtoolingtier1v1_20260828_133215.yaml diff --git a/openapisdtoolingtier1v1_20260828_133215.yaml b/openapisdtoolingtier1v1_20260828_133215.yaml new file mode 100644 index 0000000..13cb5a8 --- /dev/null +++ b/openapisdtoolingtier1v1_20260828_133215.yaml @@ -0,0 +1,2114 @@ +info: + title: SD Tooling API + description: |- + The APIs described in the following document enable the management + of the lifecycle for creating a Resource Description on the provider side, including + its publication on the federated catalogue. The available APIs allow to define + access and usage policies, specify the Resource Address on the provider side, + and manage the validation and publication process on the federated catalogue. + + ## Business Context + + The API facilitates the creation and management of Resource Descriptions in a federated data space. It enables providers to publish metadata about their data assets on a federated catalogue, define access and usage policies, and manage the validation and publication workflow. This supports discoverability and interoperability across the data ecosystem. + + + ### Key Actors + + - **Provider**: Creates and publishes Resource Descriptions, defines policies, and manages validation. + + - **Governance Authority**: Hosts the Federated Catalogue + + ### Typical Flow + + 1. Create a Resource Description. + + 2. Define access and usage policies. + + 3. Specify the Resource Address. + + 4. Submit the Resource Description for validation + + 5. Publish the Resource Description on the federated catalogue + contact: + name: Simpl Programme + url: https://simpl-programme.ec.europa.eu/ + email: cnect-simpl@ec.europa.eu + license: + name: European Union Public License (EUPL) 1.2 + url: https://interoperable-europe.ec.europa.eu/sites/default/files/custom-page/attachment/eupl_v1.2_en.pdf + version: "1.0" +servers: +- url: https://creation-wizard-api.dev.simpl-europe.eu/v1 +security: +- bearerAuth: [] +openapi: 3.0.1 +tags: +- name: Schema + description: |+ + **DEPRECATED: All controller endpoints are deprecated since v1.22.0 and will be removed in a future version.** + + **Please use the V2 version of this controller** + +components: + securitySchemes: + bearerAuth: + type: http + description: IAA cloud gateway JWT token + scheme: bearer + bearerFormat: JWT + schemas: + OdrlAssignee: + type: object + properties: + uid: + type: string + role: + type: string + UsagePolicyPermission: + required: + - assignee + - constraints + type: object + properties: + assignee: + minLength: 1 + type: string + description: permission assignee + example: Consumer + action: + type: string + description: type of permission action (default USE) + enum: + - USE + - DO_NOT_USE_THIS_TYPE + constraints: + minItems: 1 + type: array + description: permission contraints + items: + oneOf: + - $ref: '#/components/schemas/DeletionConstraint' + - $ref: '#/components/schemas/RestrictedDurationConstraint' + - $ref: '#/components/schemas/RestrictedNumberConstraint' + description: usage permissions + UsagePolicyRequest: + required: + - permissions + type: object + properties: + permissions: + minItems: 1 + type: array + description: usage permissions + items: + $ref: '#/components/schemas/UsagePolicyPermission' + InputObject: + type: object + properties: + in: + type: string + enum: + - body + - path + - query + - header + name: + type: string + value: + type: object + IdentityAttribute: + type: object + properties: + identifier: + type: string + code: + type: string + PolicyAction: + type: object + properties: + label: + type: string + value: + type: string + DeletionConstraint: + required: + - type + type: object + allOf: + - $ref: '#/components/schemas/UsagePolicyConstraint' + - type: object + properties: + type: + type: string + description: type of the constraint + example: Deletion + afterUse: + type: boolean + description: after use flag (default is false) + RestrictedNumberConstraint: + required: + - maxCount + - type + type: object + allOf: + - $ref: '#/components/schemas/UsagePolicyConstraint' + - type: object + properties: + type: + type: string + description: type of the constraint + example: RestrictedNumber + maxCount: + minimum: 1 + exclusiveMinimum: false + type: integer + description: restricted number max usage count + format: int32 + example: 10 + OdrlAssigner: + type: object + properties: + uid: + type: string + role: + type: string + ResourceAddress: + required: + - value + type: object + properties: + templateId: + type: string + value: + type: string + InputValidationIssue: + type: object + properties: + type: + type: string + format: uri + href: + type: string + format: uri + title: + type: string + detail: + type: string + in: + type: string + enum: + - body + - path + - query + - header + name: + type: string + value: + type: object + inputs: + type: array + items: + $ref: '#/components/schemas/InputObject' + additionalProperties: + type: object + additionalProperties: + type: object + Template: + type: object + properties: + id: + type: string + label: + type: string + AccessPolicyRequest: + required: + - permissions + type: object + properties: + permissions: + minItems: 1 + type: array + description: access permissions + items: + $ref: '#/components/schemas/AccessPolicyPermission' + InternalServerErrorProblem: + type: object + properties: + type: + type: string + format: uri + href: + type: string + format: uri + title: + type: string + status: + type: integer + format: int32 + detail: + type: string + instance: + type: string + format: uri + additionalProperties: + type: object + additionalProperties: + type: object + NotFoundProblem: + type: object + properties: + type: + type: string + format: uri + href: + type: string + format: uri + title: + type: string + status: + type: integer + format: int32 + detail: + type: string + instance: + type: string + format: uri + additionalProperties: + type: object + additionalProperties: + type: object + UnauthorizedProblem: + type: object + properties: + type: + type: string + format: uri + href: + type: string + format: uri + title: + type: string + status: + type: integer + format: int32 + detail: + type: string + instance: + type: string + format: uri + additionalProperties: + type: object + additionalProperties: + type: object + BadRequestProblem: + type: object + properties: + type: + type: string + format: uri + href: + type: string + format: uri + title: + type: string + status: + type: integer + format: int32 + detail: + type: string + instance: + type: string + format: uri + issues: + type: array + items: + $ref: '#/components/schemas/InputValidationIssue' + additionalProperties: + type: object + additionalProperties: + type: object + UsagePolicyConstraint: + type: object + properties: + type: + type: string + description: permission contraints + discriminator: + propertyName: type + OdrlPermission: + type: object + properties: + target: + type: string + assignee: + $ref: '#/components/schemas/OdrlAssignee' + action: + type: array + items: + type: string + constraint: + type: array + items: + $ref: '#/components/schemas/OdrlConstraint' + OdrlConstraint: + type: object + properties: + leftOperand: + type: string + operator: + type: string + rightOperand: + type: string + OdrlPolicy: + type: object + properties: + profile: + type: string + target: + type: string + assigner: + $ref: '#/components/schemas/OdrlAssigner' + uid: + type: string + '@context': + type: string + '@type': + type: string + permission: + type: array + items: + $ref: '#/components/schemas/OdrlPermission' + RestrictedDurationConstraint: + required: + - type + type: object + allOf: + - $ref: '#/components/schemas/UsagePolicyConstraint' + - type: object + properties: + type: + type: string + description: type of the constraint + example: RestrictedDuration + fromDatetime: + type: string + description: duration start datetime in ISO8601 format with optional timezone (default is GMT) + example: 2024-08-01T00:00:00Z + toDatetime: + type: string + description: duration end datetime in ISO8601 format with optional timezone (default is GMT) + example: 2024-08-31T23:59:59Z + AccessPolicyPermission: + required: + - action + - assignee + type: object + properties: + assignee: + minLength: 1 + type: string + description: permission assignee + action: + type: string + description: type of permission action + enum: + - SEARCH + - CONSUME + - RESTRICTED_CONSUME + fromDatetime: + type: string + description: permission start datetime in ISO8601 format with optional timezone (default is GMT) + example: 2024-08-01T00:00:00Z + toDatetime: + type: string + description: permission end datetime in ISO8601 format with optional timezone (default is GMT) + example: 2024-08-31T23:59:59Z + description: access permissions +paths: + /schemas/{schemaId}/content: + get: + tags: + - Schema + summary: Returns schema content based on schemaId + description: Returns schema content for the specified schema identifier. + operationId: getSchemaContent + parameters: + - name: schemaId + in: path + description: Identifier of the TTL schema + required: true + schema: + type: string + description: Identifier of the TTL schema + example: data-offeringShape.ttl + example: data-offeringShape.ttl + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + "200": + description: TTL schema file content + content: + text/turtle: + schema: + type: string + examples: + ttlExample: + summary: Example TTL content + description: ttlExample + value: '@prefix ex: .' + deprecated: true + /policies/usage: + post: + tags: + - Policy + summary: Generate a usage policy in ODRL format + description: This endpoint receives a request with usage permissions and returns an ODRL policy, which specifies how a resource can be used, by whom, and with what constraints + operationId: getUsagePolicyJsonLD + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UsagePolicyRequest' + required: true + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + "200": + description: The usage policy json-ld + content: + application/json: + schema: + $ref: '#/components/schemas/OdrlPolicy' + examples: + validTypes: + summary: Valid sharing methods + description: validTypes + value: + '@context': http://www.w3.org/ns/odrl.jsonld + '@type': Set + profile: http://www.w3.org/ns/odrl/2/odrl.jsonld + target: "" + assigner: + uid: provider + role: http://www.w3.org/ns/odrl/2/assigner + uid: f5cb3167-cd29-4d1d-a0f2-4889caf7c875 + permission: + - target: "" + assignee: + uid: consumer + role: http://www.w3.org/ns/odrl/2/assignee + action: + - http://www.w3.org/ns/odrl/2/use + constraint: + - leftOperand: http://www.w3.org/ns/odrl/2/count + operator: http://www.w3.org/ns/odrl/2/lteq + rightOperand: "10" + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/gteq + rightOperand: 2024-08-01T00:00:00Z + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/lteq + rightOperand: 2024-08-31T23:59:59Z + /selfDescriptions/publications: + post: + tags: + - Self Description + summary: Publish an enriched, validated and signed self-description + description: Publishes a finalized (enriched, validated and signed) SD json-LD into the federated catalogue + operationId: publish + requestBody: + description: Request body containing SD JSON-LD object + content: + application/json: + schema: + type: object + example: + '@context': http://www.w3.org/ns/odrl.jsonld + '@type': Set + assigner: + role: http://www.w3.org/ns/odrl/2/assigner + uid: provider + permission: + - action: + - http://simpl.eu/odrl/actions/search + assignee: + role: http://www.w3.org/ns/odrl/2/assignee + uid: CONSUMER + constraint: + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/gteq + rightOperand: 2024-08-01T00:00:00Z + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/lteq + rightOperand: 2024-08-31T23:59:59Z + target: "" + profile: http://www.w3.org/ns/odrl/2/odrl.jsonld + target: "" + uid: 68777919-f260-4305-9c41-d4266ac0a639 + required: true + responses: + "400": + description: Bad Request + content: + application/problem+json: + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Parameter validation error + status: 400 + detail: One or more parameters are invalid + instance: /selfDescriptions/publications + issues: + - type: urn:problem-type:simpl:invalidParameter + title: Invalid parameter + detail: The json-file is not valid + in: body + name: json-file + value: invalidValue + "500": + description: Internal Server Error + content: + application/problem+json: + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + instance: /selfDescriptions/publications + "200": + description: Successfully published + content: + application/json: + schema: + type: object + examples: + Registration json: + description: Registration json + value: + id: did:web:registry.gaia-x.eu:DataOffering:3mwO1pOqDQ_fID9jc9Az1TS5JKIS_eng_0006 + issuer: did:web:did.dev.simpl-europa.eu + sdHash: 937295562072eb29046b8eb739eaa796144c9e9fa909b635dc5d0ce7b5ad5e27 + status: active + statusDatetime: 2025-03-13T09:41:11.103238436Z + uploadDatetime: 2025-03-13T09:41:11.103238376Z + "406": + description: Not Acceptable + content: + application/problem+json: + examples: + Not Acceptable Error Example: + description: Not Acceptable Error Example + value: + type: urn:problem-type:simpl:notAcceptable + title: Not Acceptable + status: 406 + detail: The requested media type could not be provided + instance: /selfDescriptions/publish + "415": + description: Unsupported Media Type + content: + application/problem+json: + examples: + Unsupported Media Type Error Example: + description: Unsupported Media Type Error Example + value: + type: urn:problem-type:simpl:unsupportedMediaType + title: Unsupported Media Type + status: 415 + detail: The media type in the request payload is unsupported + instance: /selfDescriptions/publish + /selfDescriptions/enriched: + post: + tags: + - Self Description + summary: Enriches and validates a self-description using the provided metadata and additional properties + description: | + **DEPRECATED: This endpoint is deprecated since v1.22.0 and will be removed in a future version.** + + **Please use the V2 version of this endpoint** + + --- + + Adds hashing, registers asset and policies into the provider EDC, creates a contract definition on EDC connector and validates the resulting SD json enriched with all info. Allows passing additional properties via a JSON string. + operationId: enrichAndValidate + parameters: + - name: schemaId + in: query + description: schemaId + required: true + schema: + type: string + example: data-offeringShape.ttl + - name: templateId + in: query + description: resource address template id + required: true + schema: + type: string + example: 1 + requestBody: + description: Request body containing SD JSON-LD + content: + application/json: + schema: + type: object + example: + '@context': http://www.w3.org/ns/odrl.jsonld + '@type': Set + assigner: + role: http://www.w3.org/ns/odrl/2/assigner + uid: provider + permission: + - action: + - http://simpl.eu/odrl/actions/search + assignee: + role: http://www.w3.org/ns/odrl/2/assignee + uid: CONSUMER + constraint: + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/gteq + rightOperand: 2024-08-01T00:00:00Z + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/lteq + rightOperand: 2024-08-31T23:59:59Z + target: "" + profile: http://www.w3.org/ns/odrl/2/odrl.jsonld + target: "" + uid: 68777919-f260-4305-9c41-d4266ac0a639 + required: true + responses: + "400": + description: Bad Request + content: + application/problem+json: + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Parameter validation error + status: 400 + detail: One or more parameters are invalid + issues: + - type: urn:problem-type:simpl:invalidParameter + title: Invalid parameter + detail: The schemaId parameter must meet specific criteria + in: query + name: schemaId + value: invalidValue + "500": + description: Internal Server Error + content: + application/problem+json: + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + instance: /selfDescriptions/enriched + "200": + description: Successfully enriched and validated SD JSON-LD + content: + application/json: + schema: + type: object + examples: + SD json file enriched and validated: + description: SD json file enriched and validated + value: + '@context': http://www.w3.org/ns/odrl.jsonld + '@type': Set + assigner: + role: http://www.w3.org/ns/odrl/2/assigner + uid: provider + permission: + - action: + - http://simpl.eu/odrl/actions/search + assignee: + role: http://www.w3.org/ns/odrl/2/assignee + uid: CONSUMER + constraint: + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/gteq + rightOperand: 2024-08-01T00:00:00Z + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/lteq + rightOperand: 2024-08-31T23:59:59Z + target: "" + profile: http://www.w3.org/ns/odrl/2/odrl.jsonld + target: "" + uid: 68777919-f260-4305-9c41-d4266ac0a639 + "401": + description: Unauthorized + content: + application/problem+json: + examples: + Unauthorized Error Example: + description: Unauthorized Error Example + value: + type: urn:problem-type:simpl:unauthorized + title: Unauthorized + status: 401 + detail: Missing or invalid Authorization header + instance: /selfDescriptions/enriched + "406": + description: Not Acceptable + content: + application/problem+json: + examples: + Not Acceptable Error Example: + description: Not Acceptable Error Example + value: + type: urn:problem-type:simpl:notAcceptable + title: Not Acceptable + status: 406 + detail: The requested media type could not be provided + instance: /selfDescriptions/enriched + "415": + description: Unsupported Media Type + content: + application/problem+json: + examples: + Unsupported Media Type Error Example: + description: Unsupported Media Type Error Example + value: + type: urn:problem-type:simpl:unsupportedMediaType + title: Unsupported Media Type + status: 415 + detail: The media type in the request payload is unsupported + instance: /selfDescriptions/enriched + deprecated: true + /resourceAddresses/templates/{templateId}/schema: + get: + tags: + - Resource Address + summary: Returns a source address template schema based on templateId + description: Returns a template (JSON schema) describing the fields and constraints to create the sourceAddress. + operationId: getSourceAddressSchema + parameters: + - name: templateId + in: path + description: The template id + required: true + schema: + type: string + example: TPL-1 + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Parameter validation error + status: 400 + detail: One or more parameters are invalid + instance: /resourceAddresses/templates/{templateId}/schema + issues: + - type: urn:problem-type:simpl:invalidParameter + title: Invalid parameter + detail: The templateId parameter must meet specific criteria + in: path + name: templateId + value: invalidValue + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + InternalServerError: + summary: Unexpected internal error + description: InternalServerError + value: + type: internal-error + title: Unexpected internal error + status: 500 + detail: 'GENERAL_ERROR: Please try again later' + instance: /resourceAddresses/templates/{templateId}/schema + "200": + description: Template (JSON schema) for the sourceAddress + content: + application/json: + schema: + type: object + examples: + IonosS3: + summary: IonosS3 template example + description: IonosS3 + value: + type: object + properties: + bucketName: + type: string + region: + type: string + required: + - bucketName + "404": + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundProblem' + examples: + NotFound: + summary: Resource not found + description: NotFound + value: + type: resource-not-found + title: RESOURCE_ADDRESS_NOT_FOUND + status: 404 + detail: UI schema not found + instance: /resourceAddresses/templates/{templateId}/schema + /resourceAddresses/assets/{assetId}: + get: + tags: + - Resource Address + summary: Retrieves the resource address associated to the given assetId + description: Retrieves the resource address associated to the given assetId + operationId: getResourceAddress + parameters: + - name: assetId + in: path + description: Identifier of asset within connector + required: true + schema: + type: string + example: 123 + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + instance: /resourceAddresses/assets/{assetId} + "200": + description: Successfully retrieved the resource address associated to the given assetId + content: + application/json: + schema: + $ref: '#/components/schemas/ResourceAddress' + examples: + Resource Address: + description: Resource description address to the given assetId + value: + templateId: "5" + value: '{"type":"MinioS3","endpoint":"https://minio01.integrated.simpl-europe.eu","bucketName":"provider-bucket","objectName":"example-s3.txt"}' + "401": + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/UnauthorizedProblem' + examples: + Unauthorized: + summary: Missing or invalid authorization + description: Unauthorized + value: + type: unauthorized + title: Unauthorized + status: 401 + detail: Missing or invalid Authorization header + instance: /resourceAddresses/assets/{assetId} + "404": + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundProblem' + examples: + Not found Error Example: + summary: AssetId Not Found + description: Not found Error Example + value: + type: urn:problem-type:simpl:resourceAddressNotFound + title: Resource Address Not Found + status: 404 + detail: No resource address found for assetId + instance: /resourceAddresses/assets/{assetId} + /policies/access: + post: + tags: + - Policy + summary: Generate an access policy in ODRL format + description: This endpoint receives a request containing a list of access permissions and returns an ODRL policy. The policy defines who can access a resource, with what type of action (e.g., SEARCH, CONSUME) and within what time frame + operationId: getAccessPolicyJsonLD + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AccessPolicyRequest' + required: true + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + "200": + description: The access policy json-ld + content: + application/json: + schema: + $ref: '#/components/schemas/OdrlPolicy' + examples: + validTypes: + summary: Valid sharing methods + description: validTypes + value: + '@context': http://www.w3.org/ns/odrl.jsonld + '@type': Set + profile: http://www.w3.org/ns/odrl/2/odrl.jsonld + target: "" + assigner: + uid: provider + role: http://www.w3.org/ns/odrl/2/assigner + uid: 68777919-f260-4305-9c41-d4266ac0a639 + permission: + - target: "" + assignee: + uid: CONSUMER + role: http://www.w3.org/ns/odrl/2/assignee + action: + - http://simpl.eu/odrl/actions/search + constraint: + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/gteq + rightOperand: 2024-08-01T00:00:00Z + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/lteq + rightOperand: 2024-08-31T23:59:59Z + - target: "" + assignee: + uid: CONSUMER + role: http://www.w3.org/ns/odrl/2/assignee + action: + - http://simpl.eu/odrl/actions/consume + constraint: + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/gteq + rightOperand: 2024-08-01T00:00:00Z + - target: "" + assignee: + uid: RESEARCHER + role: http://www.w3.org/ns/odrl/2/assignee + action: + - http://simpl.eu/odrl/actions/restrictedConsume + constraint: + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/gteq + rightOperand: 2024-09-01T00:00:00Z + - leftOperand: http://www.w3.org/ns/odrl/2/dateTime + operator: http://www.w3.org/ns/odrl/2/lteq + rightOperand: 2024-10-30T23:59:59Z + /resourceAddresses/sharingMethods: + get: + tags: + - Resource Address + summary: Returns the list of sharing methods by offer type. + description: Returns the list of sharing methods mapped to the required offer type (DATA, APPLICATION, INFRASTRUCTURE). + operationId: getResourceSharingMethods + parameters: + - name: offeringType + in: query + description: The offering type identifier + required: true + schema: + type: string + enum: + - APPLICATION + - DATA + - INFRASTRUCTURE + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Parameter validation error + status: 400 + detail: One or more parameters are invalid + instance: /resourceAddresses/sharingMethods + issues: + - type: urn:problem-type:simpl:invalidParameter + title: Invalid parameter + detail: The offeringType parameter must meet specific criteria + in: query + name: offeringType + value: invalidValue + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + InternalServerError: + summary: Unexpected internal error + description: InternalServerError + value: + type: internal-error + title: Unexpected internal error + status: 500 + detail: 'GENERAL_ERROR: Please try again later' + instance: /resourceAddresses/sharingMethods + "200": + description: A list of sharing methods + content: + application/json: + schema: + type: object + examples: + validTypes: + summary: Valid sharing methods + description: validTypes + value: + - IONOS_S3 + - HTTPDATA_PUSH + "401": + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/UnauthorizedProblem' + examples: + Unauthorized: + summary: Missing or invalid authorization + description: Unauthorized + value: + type: unauthorized + title: Unauthorized + status: 401 + detail: Missing or invalid Authorization header + instance: /resourceAddresses/sharingMethods + "404": + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundProblem' + examples: + NotFound: + summary: Resource not found + description: NotFound + value: + type: resource-not-found + title: RESOURCE_ADDRESS_NOT_FOUND + status: 404 + detail: UI schema not found + instance: /resourceAddresses/sharingMethods + /policies/actions: + get: + tags: + - Policy + summary: List of available actions for access policies + description: Returns all supported actions that can be used in the definition of an access policy, such as SEARCH, CONSUME, and RESTRICTED_CONSUME + operationId: getAccessPolicyActions + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + "200": + description: A list of access policy actions + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAction' + examples: + validTypes: + summary: Valid sharing methods + description: validTypes + value: + - label: search + value: SEARCH + - label: consume + value: CONSUME + - label: restrictedConsume + value: RESTRICTED_CONSUME + /resourceAddresses/sharingMethods/{sharingMethodId}/templates: + get: + tags: + - Resource Address + summary: Returns the list of source address templates by sharing method and offering type. + description: Returns the list of templates mapped to the required sharing method and offering type (DATA, APPLICATION, INFRASTRUCTURE). + operationId: getSourceAddressTemplates + parameters: + - name: offeringType + in: query + description: The offering type identifier + required: true + schema: + type: string + enum: + - APPLICATION + - DATA + - INFRASTRUCTURE + - name: sharingMethodId + in: path + description: The resource sharing method identifier + required: true + schema: + type: string + enum: + - HTTPDATA_PUSH + - IONOS_S3 + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Parameter validation error + status: 400 + detail: One or more parameters are invalid + instance: /resourceAddresses/sharingMethods/{sharingMethodId}/templates + issues: + - type: urn:problem-type:simpl:invalidParameter + title: Invalid parameter + detail: The sharingMethodId parameter must meet specific criteria + in: path + name: sharingMethodId + value: invalidValue + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + InternalServerError: + summary: Unexpected internal error + description: InternalServerError + value: + type: internal-error + title: Unexpected internal error + status: 500 + detail: 'GENERAL_ERROR: Please try again later' + instance: /resourceAddresses/sharingMethods/{sharingMethodId}/templates + "200": + description: A list of templates + content: + application/json: + schema: + $ref: '#/components/schemas/Template' + examples: + templates: + summary: List of templates + description: templates + value: + - id: TPL-1 + label: TPL 1 + - id: TPL-2 + label: TPL 2 + - id: TPL-3 + label: TPL 3 + "401": + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/UnauthorizedProblem' + examples: + Unauthorized: + summary: Missing or invalid authorization + description: Unauthorized + value: + type: unauthorized + title: Unauthorized + status: 401 + detail: Missing or invalid Authorization header + instance: /resourceAddresses/sharingMethods/{sharingMethodId}/templates + "404": + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundProblem' + examples: + NotFound: + summary: Resource not found + description: NotFound + value: + type: resource-not-found + title: RESOURCE_ADDRESS_NOT_FOUND + status: 404 + detail: Template not found + instance: /resourceAddresses/sharingMethods/{sharingMethodId}/templates + /resourceDescriptions/{resourceDescriptionId}: + get: + tags: + - Resource Description + summary: Return details of given resource description stored in federated catalogue + operationId: getResourceDescription + parameters: + - name: resourceDescriptionId + in: path + description: Resource description identifier (credentialSubject.@id) + required: true + schema: + type: string + example: did:web:registry.gaia-x.eu:DataOffering:123 + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + "200": + description: OK + content: + application/json: + schema: + type: string + examples: + returnValidResponse: + description: returnValidResponse + value: + claimsGraphUri: + - did:web:registry.gaia-x.eu:InfrastructureOffering:a94ef06c-a12d-4308-89aa-fffcd8a61126 + offeringType: infrastructure + name: text title for infrastructure resource. + inLanguage: da + description: text description + serviceAccessPoint: http://serviceaccesspoint.com + /resourceDescriptions/{resourceDescriptionId}/revoke: + post: + tags: + - Resource Description + summary: Revoke an already published self-description from the federated catalogue + description: | + Revokes a previously published resource description. + After revocation, the self-description shall no longer be visible or discoverable in the federated catalogue. + operationId: revokeResourceDescription + parameters: + - name: resourceDescriptionId + in: path + description: Resource description identifier (credentialSubject.@id) + required: true + schema: + type: string + example: did:web:registry.gaia-x.eu:DataOffering:123 + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + BadRequestExample: + description: BadRequestExample + value: + type: urn:problem-type:simpl:badRequest + title: BadRequest + status: 400 + instance: /resourceDescriptions/{resourceDescriptionId}/revoke + detail: Invalid resourceDescriptionId format + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + InternalServerErrorExample: + description: InternalServerErrorExample + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + instance: /resourceDescriptions/{resourceDescriptionId}/revoke + detail: Unexpected internal error + "200": + description: Successfully revoked self-description + content: + application/json: + schema: + type: object + examples: + RevokeSuccess: + description: RevokeSuccess + value: + id: did:web:registry.gaia-x.eu:DataOffering:3mwO1... + status: revoked + statusDatetime: 2025-03-20T10:31:00Z + "404": + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundProblem' + examples: + NotFoundExample: + description: NotFoundExample + value: + type: resource-not-found + title: RESOURCE_DESCRIPTION_NOT_FOUND + status: 404 + instance: /resourceDescriptions/{resourceDescriptionId}/revoke + detail: Resource description not found or already revoked + /resourceDescriptions: + get: + tags: + - Resource Description + summary: Return all resource descriptions with the participant id as defined in the Client access token. + operationId: getAllResourceDescriptions + parameters: + - name: orderBy + in: query + description: Field to order the results by + required: false + schema: + type: string + description: Field to order the results by + example: publicationDate + default: publicationDate + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + "200": + description: OK + content: + application/json: + schema: + type: object + examples: + returnValidResponse: + description: returnValidResponse + value: + totalCount: 1 + items: + - "n": + claimsGraphUri: + - did:web:registry.gaia-x.eu:InfrastructureOffering:a94ef06c-a12d-4308-89aa-fffcd8a61126 + offeringType: infrastructure + name: text title for infrastructure resource. + inLanguage: da + description: text description + serviceAccessPoint: http://serviceaccesspoint.com + /selfDescriptions/finalized: + post: + tags: + - Self Description + summary: Enriches, validates and digitally signs a self-description + description: Registers asset and policies into the provider EDC, creates a contract definition on EDC connector and validates the resulting SD json enriched with all info. Immediately applies the digital signing step to the enriched self-description and returns a finalized, immutable result ready for publication on the catalog. + operationId: finalized + parameters: + - name: schemaId + in: query + description: schemaId + required: true + schema: + type: string + example: DataSchema1 + requestBody: + description: Request body containing SD JSON-LD and additional properties + content: + application/json: + schema: + required: + - properties + - sdJson + type: object + example: + sdJson: + '@context': + gax-validation: http://w3id.org/gaia-x/validation# + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# + sh: http://www.w3.org/ns/shacl# + simpl: http://w3id.org/gaia-x/simpl# + skos: http://www.w3.org/2004/02/skos/core# + xsd: http://www.w3.org/2001/XMLSchema# + dct: http://purl.org/dc/terms/ + schema: https://schema.org/ + rdf:type: + '@id': simpl:DataOffering + simpl:billingSchema: + rdf:type: + '@id': simpl:BillingSchema + simpl:billingSchemaDocument: Billing Schema 1 + simpl:billingSchemaHashAlg: test + simpl:billingSchemaHashValue: test + simpl:billingSchemaURL: test + simpl:contractTemplate: + rdf:type: + '@id': simpl:ContractTemplate + simpl:contractTemplateDocument: Contract Template 1 + simpl:contractTemplateHashAlg: test + simpl:contractTemplateHashValue: test + simpl:contractTemplateURL: test + simpl:dataProperties: + rdf:type: + '@id': simpl:DataProperties + simpl:format: test + simpl:assetProperties: + rdf:type: + '@id': simpl:AssetProperties + simpl:generalServiceProperties: + rdf:type: + '@id': simpl:GeneralServiceProperties + simpl:description: test eng 2025 + simpl:inLanguage: en + simpl:name: test eng 2025 + simpl:offeringType: "" + simpl:sharingMethodId: "" + dct:identifier: "" + schema:version: "" + simpl:serviceAccessPoint: + '@type': xsd:anyURI + '@value': https://sd-ui.dev.simpl-europe.eu + simpl:offeringPrice: + rdf:type: + '@id': simpl:OfferingPrice + simpl:currency: EUR + simpl:license: + '@type': xsd:anyURI + '@value': https://sd-ui.dev.simpl-europe.eu + simpl:price: + '@type': xsd:decimal + '@value': 10000 + simpl:priceType: free + simpl:providerInformation: + rdf:type: + '@id': simpl:ProviderInformation + simpl:contact: test@test.com + simpl:providedBy: test + simpl:signature: test + simpl:servicePolicy: + rdf:type: + '@id': simpl:ServicePolicy + simpl:access-policy: '{"profile":"http://www.w3.org/ns/odrl/2/odrl.jsonld","target":"3mwO1pOqDQ_fID9jc9Az1TS5JKIS_oinfKHe","assigner":{"uid":"dataprovider01","role":"http://www.w3.org/ns/odrl/2/assigner"},"uid":"a5bedff0-e3e3-4806-8c83-9a97002fae4e","@context":"http://www.w3.org/ns/odrl.jsonld","@type":"Set","permission":[{"target":"3mwO1pOqDQ_fID9jc9Az1TS5JKIS_oinfKHe","assignee":{"uid":"CONSUMER","role":"http://www.w3.org/ns/odrl/2/assignee"},"action":["http://simpl.eu/odrl/actions/search"],"constraint":[]}]}' + simpl:usage-policy: '{"profile":"http://www.w3.org/ns/odrl/2/odrl.jsonld","target":"3mwO1pOqDQ_fID9jc9Az1TS5JKIS_oinfKHe","assigner":{"uid":"dataprovider01","role":"http://www.w3.org/ns/odrl/2/assigner"},"uid":"47b65a0c-d19d-4350-9225-13208ef649ff","@context":"http://www.w3.org/ns/odrl.jsonld","@type":"Set","permission":[{"target":"3mwO1pOqDQ_fID9jc9Az1TS5JKIS_oinfKHe","assignee":{"uid":"CONSUMER","role":"http://www.w3.org/ns/odrl/2/assignee"},"action":["http://www.w3.org/ns/odrl/2/use"],"constraint":[{"leftOperand":"http://www.w3.org/ns/odrl/2/deletion","operator":"http://www.w3.org/ns/odrl/2/eq","rightOperand":"after_use"}]}]}' + simpl:slaAgreements: + rdf:type: + '@id': simpl:SlaAgreements + simpl:slaAgreementsDocument: Sla Agreements 1 + simpl:slaAgreementsHashAlg: test + simpl:slaAgreementsHashValue: test + simpl:slaAgreementsURL: test + properties: + resourceAddress: + templateId: "5" + value: '{"type":"MinioS3", "endpoint":"https://minio01.integrated.simpl-europe.eu", "bucketName":"provider-bucket", "objectName":"example-s3.txt"}' + required: true + responses: + "400": + description: Bad Request + content: + application/problem+json: + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Parameter validation error + status: 400 + detail: One or more parameters are invalid + issues: + - type: urn:problem-type:simpl:invalidParameter + title: Invalid parameter + detail: The schemaId parameter must meet specific criteria + in: query + name: schemaId + value: invalidValue + "500": + description: Internal Server Error + content: + application/problem+json: + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + instance: /selfDescriptions/finalized + "200": + description: Successfully enriched, validated and digitally signed SD JSON-LD + content: + application/json: + schema: + type: object + examples: + SD json file enriched, validated and digitally signed: + description: SD json file enriched and validated + value: + '@context': + - https://www.w3.org/2018/credentials/v1 + - https://tkalisz.github.io/contexts/v1/context.jsonld + - https://w3id.org/security/suites/ed25519-2020/v1 + type: + - VerifiableCredential + - VerifiableCredential + id: urn:uuid:b5ac95b5-88f7-4381-8427-218228dd7429 + issuer: did:key:z6MkmaekaMKDpZKMAvtYJM774iXLCfXxXBbpRJekeKmv9vpe + issuanceDate: 2026-05-04T09:19:12Z + expirationDate: 2126-04-10T23:59:59Z + credentialSubject: + simpl:servicePolicy: + simpl:usage-policy: '{"profile":"http://www.w3.org/ns/odrl/2/odrl.jsonld","target":"04d3179d-d0ef-4fe7-8a2c-75e5a43dffa2","assigner":{"uid":"dataprovider01","role":"http://www.w3.org/ns/odrl/2/assigner"},"uid":"47b65a0c-d19d-4350-9225-13208ef649ff","@context":"http://www.w3.org/ns/odrl.jsonld","@type":"Set","permission":[{"target":"04d3179d-d0ef-4fe7-8a2c-75e5a43dffa2","assignee":{"uid":"CONSUMER","role":"http://www.w3.org/ns/odrl/2/assignee"},"action":["http://www.w3.org/ns/odrl/2/use"],"constraint":[{"leftOperand":"http://www.w3.org/ns/odrl/2/deletion","operator":"http://www.w3.org/ns/odrl/2/eq","rightOperand":"after_use"}]}]}' + simpl:access-policy: '{"profile":"http://www.w3.org/ns/odrl/2/odrl.jsonld","target":"04d3179d-d0ef-4fe7-8a2c-75e5a43dffa2","assigner":{"uid":"dataprovider01","role":"http://www.w3.org/ns/odrl/2/assigner"},"uid":"a5bedff0-e3e3-4806-8c83-9a97002fae4e","@context":"http://www.w3.org/ns/odrl.jsonld","@type":"Set","permission":[{"target":"04d3179d-d0ef-4fe7-8a2c-75e5a43dffa2","assignee":{"uid":"CONSUMER","role":"http://www.w3.org/ns/odrl/2/assignee"},"action":["http://simpl.eu/odrl/actions/search"],"constraint":[]}]}' + rdf:type: + '@id': simpl:ServicePolicy + rdf:type: + '@id': simpl:DataOffering + simpl:edcRegistration: + simpl:contractDefinitionId: 0a8db38e-33ea-44e7-8f40-a2ab971e6932 + simpl:servicePolicyId: eee9229d-2964-4a9e-8c76-99d3c5f25e8f + simpl:accessPolicyId: d53de065-4dda-4d57-ba12-2f1bc3564ffe + simpl:assetId: 04d3179d-d0ef-4fe7-8a2c-75e5a43dffa2 + '@context': + schema: https://schema.org/ + dct: http://purl.org/dc/terms/ + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# + sh: http://www.w3.org/ns/shacl# + simpl: http://w3id.org/gaia-x/simpl# + xsd: http://www.w3.org/2001/XMLSchema# + gax-validation: http://w3id.org/gaia-x/validation# + skos: http://www.w3.org/2004/02/skos/core# + simpl:providerInformation: + simpl:providedBy: 019cad83-119c-7d51-a6c7-c560b17d7cbf + simpl:signature: test + rdf:type: + '@id': simpl:ProviderInformation + simpl:contact: test@test.com + simpl:contractTemplate: + simpl:contractTemplateDocument: Contract Template 1 + rdf:type: + '@id': simpl:ContractTemplate + simpl:contractTemplateHashAlg: SHA256 + simpl:contractTemplateHashValue: 22275fe551e7a16f5f2c1cc10d39a534f547323d877109d98b8e8730047bc5ed + simpl:contractTemplateURL: https://files.dataprovider01.sandbox-cat-dat.simpl-europe.eu/static/contract/ContractTemplate1.json + simpl:generalServiceProperties: + schema:version: "1" + simpl:offeringType: data + simpl:description: test eng 2025 + dct:identifier: did:web:registry.gaia-x.eu:DataOffering:3mwO1pOqDQ_fID9jc9Az1TS5JKIS_oinfKHe_ENG_POSTMAN_124 + simpl:inLanguage: en + simpl:sharingMethodId: MINIO_S3 + rdf:type: + '@id': simpl:GeneralServiceProperties + simpl:name: test eng 2025 + simpl:serviceAccessPoint: + '@value': https://sd-ui.dev.simpl-europe.eu + '@type': xsd:anyURI + simpl:dataProperties: + simpl:format: test + rdf:type: + '@id': simpl:DataProperties + simpl:slaAgreements: + simpl:slaAgreementsHashAlg: SHA256 + simpl:slaAgreementsHashValue: a75b83855522208dfb134f559447c8ca5864c6dc1d705c26f9b735ba175e26fe + simpl:slaAgreementsURL: https://files.dataprovider01.sandbox-cat-dat.simpl-europe.eu/static/pdf/SLAAgreement1.pdf + rdf:type: + '@id': simpl:SlaAgreements + simpl:slaAgreementsDocument: Sla Agreements 1 + '@id': did:web:registry.gaia-x.eu:DataOffering:3mwO1pOqDQ_fID9jc9Az1TS5JKIS_oinfKHe_ENG_POSTMAN_124 + simpl:offeringPrice: + simpl:currency: EUR + simpl:license: + '@value': https://sd-ui.dev.simpl-europe.eu + '@type': xsd:anyURI + simpl:priceType: free + rdf:type: + '@id': simpl:OfferingPrice + simpl:price: + '@value': 10000 + '@type': xsd:decimal + simpl:billingSchema: + simpl:billingSchemaURL: https://files.dataprovider01.sandbox-cat-dat.simpl-europe.eu/static/pdf/BillingSchema1.pdf + simpl:billingSchemaHashValue: 7cf87b4138c3d4ca015ba54ccc21c2e879a1eaa60e0979859484550aaa76bded + simpl:billingSchemaDocument: Billing Schema 1 + simpl:billingSchemaHashAlg: SHA256 + rdf:type: + '@id': simpl:BillingSchema + simpl:edcConnector: + simpl:providerEndpointURL: https://tls.participant.dataprovider01.sandbox-cat-dat.simpl-europe.eu/edc + simpl:assetProperties: + rdf:type: + '@id': simpl:AssetProperties + dct:conformsTo: + '@type': dct:Standard + '@id': https://simpl.example.org/schema/DataSchema + dct:schemaName: DataSchema + dct:title: DataSchema title + dct:description: DataSchema description + dct:hasVersion: 1.0.0 + proof: + '@context': + - https://www.w3.org/2018/credentials/v1 + - https://tkalisz.github.io/contexts/v1/context.jsonld + - https://w3id.org/security/suites/ed25519-2020/v1 + type: Ed25519Signature2020 + created: 2026-05-04T09:19:12Z + verificationMethod: did:key:124 + proofPurpose: assertionMethod + proofValue: "124214" + "401": + description: Unauthorized + content: + application/problem+json: + examples: + Unauthorized Error Example: + description: Unauthorized Error Example + value: + type: urn:problem-type:simpl:unauthorized + title: Unauthorized + status: 401 + detail: Missing or invalid Authorization header + instance: /selfDescriptions/finalized + "404": + description: Not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundProblem' + examples: + Not Found Error Example: + description: Schema not found + value: + type: urn:problem-type:simpl:resourcesNotFound + title: Resource not found + status: 404 + detail: Schema with identifier 'dataSchema' was not found + instance: /selfDescriptions/finalized + "406": + description: Not Acceptable + content: + application/problem+json: + examples: + Not Acceptable Error Example: + description: Not Acceptable Error Example + value: + type: urn:problem-type:simpl:notAcceptable + title: Not Acceptable + status: 406 + detail: The requested media type could not be provided + instance: /selfDescriptions/finalized + "415": + description: Unsupported Media Type + content: + application/problem+json: + examples: + Unsupported Media Type Error Example: + description: Unsupported Media Type Error Example + value: + type: urn:problem-type:simpl:unsupportedMediaType + title: Unsupported Media Type + status: 415 + detail: The media type in the request payload is unsupported + instance: /selfDescriptions/finalized + /policies/identityAttributes: + get: + tags: + - Policy + summary: Retrieve identity attributes for consumers + description: Returns the identity attributes assigned to the CONSUMER type by the Governance Authority, useful for defining who can access a resource + operationId: getIdentityAttributes + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + "200": + description: A list of identity attributes + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityAttribute' + examples: + validTypes: + summary: Valid sharing methods + description: validTypes + value: + - code: CONSUMER + identifier: Consumer + /resourceAddresses/templates/{templateId}/uiSchema: + get: + tags: + - Resource Address + summary: Returns a source address UI schema based in templateId. + description: Returns a UI schema that defines the constraints for the form representation of the sourceAddress. + operationId: getSourceAddressUiSchema + parameters: + - name: templateId + in: path + description: The template id + required: true + schema: + type: string + example: TPL-1 + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Parameter validation error + status: 400 + detail: One or more parameters are invalid + instance: /resourceAddresses/templates/{templateId}/uiSchema + issues: + - type: urn:problem-type:simpl:invalidParameter + title: Invalid parameter + detail: The templateId parameter must meet specific criteria + in: path + name: templateId + value: invalidValue + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + InternalServerError: + summary: Unexpected internal error + description: InternalServerError + value: + type: internal-error + title: Unexpected internal error + status: 500 + detail: 'GENERAL_ERROR: Please try again later' + instance: /resourceAddresses/templates/{templateId}/uiSchema + "200": + description: UI schema for the sourceAddress + content: + application/json: + schema: + type: object + examples: + amazonS3UI: + summary: UI schema example + description: amazonS3UI + value: + ui:order: + - bucketName + - region + "404": + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundProblem' + examples: + NotFound: + summary: Resource not found + description: NotFound + value: + type: resource-not-found + title: RESOURCE_ADDRESS_NOT_FOUND + status: 404 + detail: UI schema not found + instance: /resourceAddresses/templates/{templateId}/uiSchema + /schemas: + get: + tags: + - Schema + summary: List all available schema ids + description: Returns all schema identifiers in order to allow them to be selected and initiate the self-description creation process. + operationId: getSchemas + responses: + "400": + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestProblem' + examples: + Bad Request Error Example: + description: Bad Request Error Example + value: + type: urn:problem-type:simpl:validationError + title: Invalid payload + status: 400 + detail: missing required arguments + '*/*': + schema: + $ref: '#/components/schemas/BadRequestProblem' + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/InternalServerErrorProblem' + examples: + Internal Server Error Example: + description: Internal Server Error Example + value: + type: urn:problem-type:simpl:internalServerError + title: Internal Server Error + status: 500 + detail: Unexpected internal error + "200": + description: A map of available TTL schema files + content: + application/json: + schema: + type: object + examples: + Available TTL files: + description: Available TTL files + value: + simpl: + contract: + - contract-templateShape.ttl + service: + - application-offeringShape.ttl + - data-offeringShape.ttl + - infrastructure-offeringShape.ttl + deprecated: true