openapi: 3.2.0 info: title: FIAM – Eneco Data Products Data Consumer Demo API description: Eneco DataShare APIs contact: name: Eneco Integration Team url: https://developer.enecogroup.com email: FM_BTO_Integration_Team@eneco.com version: 1.0.1 servers: - url: https://api-acc.enecogroup.com/ - url: https://api.enecogroup.com/ security: - apikey: [] tags: - name: DataConsumerDemo paths: /datashare/v1/{businessUnit}/{label}/dataconsumer/demo/{dataOwnerId}/{productType}/consumers: get: tags: - DataConsumerDemo summary: Get demo data consumers description: Get all data consumers for a given customer for demo purposes. The response is decorated with consent information for the given customer operationId: GetDemoDataConsumers parameters: - name: businessUnit in: path required: true schema: $ref: '#/components/schemas/BusinessUnitBinding' - name: label in: path required: true schema: $ref: '#/components/schemas/LabelBinding' - name: dataOwnerId in: path required: true schema: type: string format: uuid - name: productType in: path required: true schema: $ref: '#/components/schemas/ProductTypeBinding' - name: x-request-id in: header description: Unique identifier of incoming call for tracing purposes schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DemoResponseDtoOfDemoConsumersResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /datashare/v1/{businessUnit}/{label}/dataconsumer/demo/{dataOwnerId}/{productType}/setConsent: post: tags: - DataConsumerDemo summary: Set demo consent description: Set consent for the given customer for demo purposes. This will create or delete a contract in KPN FIAM depending on the consent value operationId: SetDemoConsent parameters: - name: businessUnit in: path required: true schema: $ref: '#/components/schemas/BusinessUnitBinding' - name: label in: path required: true schema: $ref: '#/components/schemas/LabelBinding' - name: dataOwnerId in: path required: true schema: type: string format: uuid - name: productType in: path required: true schema: $ref: '#/components/schemas/ProductTypeBinding' - name: x-request-id in: header description: Unique identifier of incoming call for tracing purposes schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/SetDemoConsentRequest' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '415': description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' default: description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ErrorResponse: type: object properties: errors: type: array items: type: object properties: code: type: string message: type: string BusinessUnit: enum: - nl - be - uk LabelBinding: enum: - default - eneco - oxxio - woonenergie type: object properties: value: $ref: '#/components/schemas/Label' ProductTypeBinding: enum: - heat type: object properties: value: $ref: '#/components/schemas/ProductType' DemoConsumerResponse: required: - name - consumerId - isConsent type: object properties: name: type: string consumerId: type: string isConsent: type: boolean DemoConsumersResponse: required: - consumers type: object properties: consumers: type: array items: $ref: '#/components/schemas/DemoConsumerResponse' SetDemoConsentRequest: required: - consumerId - isConsent type: object properties: consumerId: type: string isConsent: type: boolean BusinessUnitBinding: enum: - nl - be - uk type: object properties: value: $ref: '#/components/schemas/BusinessUnit' DemoResponseDtoOfDemoConsumersResponse: required: - data type: object properties: data: type: - object - 'null' oneOf: - $ref: '#/components/schemas/DemoConsumersResponse' ProductType: enum: - heat Label: enum: - default - eneco - oxxio - woonenergie ProblemDetails: type: object properties: type: type: - string - 'null' title: type: - string - 'null' status: pattern: ^-?(?:0|[1-9]\d*)$ format: int32 detail: type: - string - 'null' instance: type: - string - 'null' securitySchemes: apikey: type: apiKey description: Apigee API key name: apikey in: header