openapi: 3.2.0 info: title: Fenergo Domain API version: '4.0' description: 'Operations tagged Domain across 2 of this provider''s published API definitions: fenergo-portaltenantcommand-v4-0-openapi.json, fenergo-portaltenantquery-v4-0-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: /portaltenantcommand - url: /portaltenantquery security: - Bearer: [] tags: - name: Domain paths: /api/domains/brand-email-settings: put: tags: - Domain summary: Updates brand email settings (email domain and sender) for a given portal URL parameters: - name: portalUrl in: query description: Portal URL identifying the brand required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: description: Email domain id and sender address to apply content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Request.ServiceRequest_1__Fenergo.Nebula.Portal.Tenant.Command.Application.Dto.UpdateBrandEmailSettingsDto__Fenergo.Nebula.Portal.Tenant.Command.Application__Version_4.1.0.0__Culture_neutral__PublicKeyToken_null' text/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Request.ServiceRequest_1__Fenergo.Nebula.Portal.Tenant.Command.Application.Dto.UpdateBrandEmailSettingsDto__Fenergo.Nebula.Portal.Tenant.Command.Application__Version_4.1.0.0__Culture_neutral__PublicKeyToken_null' application/*+json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Request.ServiceRequest_1__Fenergo.Nebula.Portal.Tenant.Command.Application.Dto.UpdateBrandEmailSettingsDto__Fenergo.Nebula.Portal.Tenant.Command.Application__Version_4.1.0.0__Culture_neutral__PublicKeyToken_null' responses: '204': description: No Content '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '500': description: Internal server exception. Please, contact your provider. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: null messages: - message: Internal server exception. Please, contact your provider. type: Error errorCode: INTERNAL_SERVER_ERROR '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.String__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT operationId: putApiDomainsBrandEmailSettings x-operation-id-source: derived get: tags: - Domain summary: Returns brand email settings (email domain and sender) for a given portal URL parameters: - name: portalUrl in: query description: Portal URL identifying the brand required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.BrandEmailSettingsDto__Fenergo.Nebula.Portal.Tenant.Query.Application__Version_4.1.0.0__Culture_neutral__PublicKeyToken_null' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: {} messages: - message: Not Found type: Error errorCode: Error Code '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '500': description: Internal server exception. Please, contact your provider. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: null messages: - message: Internal server exception. Please, contact your provider. type: Error errorCode: INTERNAL_SERVER_ERROR '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.String__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT operationId: getApiDomainsBrandEmailSettings x-operation-id-source: derived servers: - url: /portaltenantcommand /api/domains/{portalTenantId}: get: tags: - Domain summary: Returns the list of portal domains for a given tenant parameters: - name: portalTenantId in: path description: Tenant identifier required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Collections.Generic.List_1__Fenergo.Nebula.Portal.Tenant.Shared.Dto.PortalDomainLightDto__Fenergo.Nebula.Portal.Tenant.Shared__Version_4.1.6.0__Culture_neutral__PublicKeyToken_null____System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: {} messages: - message: Not Found type: Error errorCode: Error Code '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '500': description: Internal server exception. Please, contact your provider. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: null messages: - message: Internal server exception. Please, contact your provider. type: Error errorCode: INTERNAL_SERVER_ERROR '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.String__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT operationId: getApiDomainsByPortalTenantId x-operation-id-source: derived servers: - url: /portaltenantquery /api/domains/brand-config: get: tags: - Domain summary: Returns the brand configuration for a specific domain and tenant parameters: - name: portalUrl in: query description: Brand Configuration portal url required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.DomainBrandConfigurationDto__Fenergo.Nebula.Portal.Tenant.Query.Application__Version_4.1.0.0__Culture_neutral__PublicKeyToken_null' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: {} messages: - message: Not Found type: Error errorCode: Error Code '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '500': description: Internal server exception. Please, contact your provider. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: null messages: - message: Internal server exception. Please, contact your provider. type: Error errorCode: INTERNAL_SERVER_ERROR '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.String__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT operationId: getApiDomainsBrandConfig x-operation-id-source: derived servers: - url: /portaltenantquery components: schemas: Fenergo.Nebula.Portal.Tenant.Command.Application.Dto.UpdateBrandEmailSettingsDto: type: object properties: emailDomainId: type: - string - 'null' format: uuid emailSender: type: - string - 'null' additionalProperties: false ? Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.String__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e : type: object properties: data: type: - string - 'null' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data ? Fenergo.Nebula.Platform.Core.Models.Request.ServiceRequest_1__Fenergo.Nebula.Portal.Tenant.Command.Application.Dto.UpdateBrandEmailSettingsDto__Fenergo.Nebula.Portal.Tenant.Command.Application__Version_4.1.0.0__Culture_neutral__PublicKeyToken_null : type: object properties: data: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Command.Application.Dto.UpdateBrandEmailSettingsDto' additionalProperties: false description: Service request data ? Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Object__System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e : type: object properties: data: description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage: type: object properties: message: type: - string - 'null' description: The message example: Success type: type: - string - 'null' description: 'Type of the message One of Info, Warning, Error, Forbidden' example: Info errorCode: type: - string - 'null' description: Error Code example: INTERNAL_SERVER_ERROR additionalProperties: false description: The message associated to the service response Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplateDto: type: object properties: subject: type: - string - 'null' mainText: type: - string - 'null' subText: type: - string - 'null' buttonText: type: - string - 'null' footerText: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.SwitchableEmailTemplateDto: type: object properties: subject: type: - string - 'null' mainText: type: - string - 'null' subText: type: - string - 'null' buttonText: type: - string - 'null' footerText: type: - string - 'null' enabled: type: boolean additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.FooterLinkDto: type: object properties: label: type: - string - 'null' url: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.ReceiptConfirmationMessagesDto: type: object properties: mainHeading: type: - string - 'null' subtext: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.ScreenMessagesDto: type: object properties: landingPage: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.LandingPageMessagesDto' accessRequestReceipt: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.AccessRequestReceiptMessagesDto' receiptConfirmation: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.ReceiptConfirmationMessagesDto' loginPage: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.LoginPageMessagesDto' noAccess: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.NoAccessMessagesDto' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.DomainBrandConfigurationDto: type: object properties: portalName: type: - string - 'null' description: Name of the portal example: FenX Vortex Portal footerExtensionText: type: - string - 'null' description: Footer extension text displayed at the bottom of the portal emailDomainId: type: - string - 'null' description: Email domain identifier format: uuid emailSender: type: - string - 'null' description: Email sender name (the local part before @ in the from email address) footerLinks: type: - array - 'null' items: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.FooterLinkDto' description: Collection of footer links displayed in the portal footer screenMessages: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.ScreenMessagesDto' imageUrls: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.ImageUrlsDto' theme: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.ThemeDto' emailTemplates: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplatesDto' fonts: type: - array - 'null' items: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.FontDto' description: Collection of custom fonts to be used in the portal ssoConnectionName: type: - string - 'null' description: Name of the SSO connection to use for this brand. isVectorDomain: type: boolean description: True when this domain serves the Vector Portal UI rather than the Legacy Portal UI. additionalProperties: false description: DTO representing brand configuration Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.ThemeDto: type: object properties: primaryColor: type: - string - 'null' headerColor: type: - string - 'null' errorColor: type: - string - 'null' warningColor: type: - string - 'null' infoColor: type: - string - 'null' successColor: type: - string - 'null' hyperlinkColor: type: - string - 'null' headerUnderlineColor: type: - string - 'null' customCss: type: - string - 'null' customCssAccessible: type: - string - 'null' additionalProperties: false ? Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.DomainBrandConfigurationDto__Fenergo.Nebula.Portal.Tenant.Query.Application__Version_4.1.0.0__Culture_neutral__PublicKeyToken_null : type: object properties: data: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.DomainBrandConfigurationDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.LandingPageMessagesDto: type: object properties: mainHeading: type: - string - 'null' subtext: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Shared.Dto.PortalDomainLightDto: type: object properties: portalUrl: type: - string - 'null' portalName: type: - string - 'null' isDefaultDomain: type: boolean additionalProperties: false ? Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.BrandEmailSettingsDto__Fenergo.Nebula.Portal.Tenant.Query.Application__Version_4.1.0.0__Culture_neutral__PublicKeyToken_null : type: object properties: data: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.BrandEmailSettingsDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.FontDto: type: object properties: name: type: - string - 'null' url: type: - string - 'null' style: type: - string - 'null' weight: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.BrandEmailSettingsDto: type: object properties: emailDomainId: type: - string - 'null' format: uuid emailSender: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplatesDto: type: object properties: resetEmailTemplate: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplateDto' verifyEmailTemplate: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplateDto' outreachJourneyInProgressTemplate: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplateDto' delegatedUserEmailTemplate: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.SwitchableEmailTemplateDto' outreachJourneyInProgressTemplateTwo: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplateDto' outreachJourneyInProgressTemplateThree: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplateDto' outreachJourneyInProgressTemplateFour: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplateDto' outreachJourneyInProgressTemplateFive: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.EmailTemplateDto' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.ImageUrlsDto: type: object properties: logo: type: - string - 'null' backgroundImage: type: - string - 'null' dashboardBackground: type: - string - 'null' watermark: type: - string - 'null' contrastLogo: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.NoAccessMessagesDto: type: object properties: mainHeading: type: - string - 'null' subtext: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.LoginPageMessagesDto: type: object properties: termsOfServiceUrl: type: - string - 'null' privacyPolicyUrl: type: - string - 'null' title: type: - string - 'null' additionalProperties: false Fenergo.Nebula.Portal.Tenant.Query.Application.Dto.Config.AccessRequestReceiptMessagesDto: type: object properties: mainHeading: type: - string - 'null' subtext: type: - string - 'null' additionalProperties: false ? Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponse_1__System.Collections.Generic.List_1__Fenergo.Nebula.Portal.Tenant.Shared.Dto.PortalDomainLightDto__Fenergo.Nebula.Portal.Tenant.Shared__Version_4.1.6.0__Culture_neutral__PublicKeyToken_null____System.Private.CoreLib__Version_8.0.0.0__Culture_neutral__PublicKeyToken_7cec85d7bea7798e : type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/Fenergo.Nebula.Portal.Tenant.Shared.Dto.PortalDomainLightDto' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header x-refined-from: - fenergo-portaltenantcommand-v4-0-openapi.json - fenergo-portaltenantquery-v4-0-openapi.json