openapi: 3.2.0 info: title: Fenergo Nebula Localisation Command Localisation Context API description: '**Localisation Command API**: Localisation Command API provides both configurational and operational methods related to the client localisations.' version: '1.0' servers: - url: /localisationcommand security: - Bearer: [] tags: - name: LocalisationContext paths: /api/localisationcontext/{localisationId}/version/{versionNumber}: post: tags: - LocalisationContext summary: Create a new Localisation Context description: 'This method creates new Localisation Context to an existing Localisation Please be awared only context with name Default will work for localisation Context is a logical area which groups fen-x pages or features For example Default context is the generic context which is used by all fen-x components. Required permissions: Following permissions are required: LocalisationEdit' operationId: CreateLocalisationContext parameters: - name: localisationId in: path required: true schema: type: string format: uuid - name: versionNumber in: path required: true schema: type: integer format: int32 - 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: content: application/json: schema: $ref: '#/components/schemas/LocalisationContextDtoServiceRequest' text/json: schema: $ref: '#/components/schemas/LocalisationContextDtoServiceRequest' application/*+json: schema: $ref: '#/components/schemas/LocalisationContextDtoServiceRequest' responses: '202': description: Accepted for processing content: text/plain: schema: $ref: '#/components/schemas/LocalisationContextDtoServiceResponse' application/json: schema: $ref: '#/components/schemas/LocalisationContextDtoServiceResponse' text/json: schema: $ref: '#/components/schemas/LocalisationContextDtoServiceResponse' '400': description: Invalid request content: text/plain: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' text/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Localisation with given ID does not exists 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/ObjectServiceResponse' 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/ObjectServiceResponse' 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/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT /api/localisationcontext/{localisationId}/version/{versionNumber}/context/{contextName}/metadata: put: tags: - LocalisationContext summary: Update Localisation Context Metadata description: 'Update the Context metadata. This can only affect the current context Required permissions: Following permissions are required: LocalisationEdit' operationId: UpdateLocalisationContextMetadata parameters: - name: localisationId in: path description: Localisation Id required: true schema: type: string format: uuid - name: versionNumber in: path description: Version Number required: true schema: type: integer format: int32 - name: contextName in: path description: Context Name 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: ServiceRequest with the options content: application/json: schema: $ref: '#/components/schemas/UpdateLocalisationContextMetadataDtoServiceRequest' text/json: schema: $ref: '#/components/schemas/UpdateLocalisationContextMetadataDtoServiceRequest' application/*+json: schema: $ref: '#/components/schemas/UpdateLocalisationContextMetadataDtoServiceRequest' responses: '202': description: Accepted for processing content: text/plain: schema: $ref: '#/components/schemas/UpdateLocalisationContextMetadataDtoServiceResponse' application/json: schema: $ref: '#/components/schemas/UpdateLocalisationContextMetadataDtoServiceResponse' text/json: schema: $ref: '#/components/schemas/UpdateLocalisationContextMetadataDtoServiceResponse' '400': description: Invalid request content: text/plain: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' text/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Localisation with given ID does not exists 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/ObjectServiceResponse' 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/ObjectServiceResponse' 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/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT /api/localisationcontext/{localisationId}/version/{versionNumber}/context/{contextName}: delete: tags: - LocalisationContext summary: Delete Localisation Context description: 'This method deletes an existing Localisation context and it''s data as well. Required permissions: Following permissions are required: LocalisationDelete' operationId: DeleteLocalisationContext parameters: - name: localisationId in: path description: Localisation Id required: true schema: type: string format: uuid - name: versionNumber in: path description: Version Number required: true schema: type: integer format: int32 - name: contextName in: path description: Context Name 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: '202': description: Accepted for processing '400': description: Invalid request content: text/plain: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' text/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Localisation with given ID does not exists 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/ObjectServiceResponse' 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/ObjectServiceResponse' 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/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT /api/localisationcontext/{localisationId}/version/{versionNumber}/context/{contextName}/filelite: put: tags: - LocalisationContext summary: Update Localisation Context file by uploading a json file less than 5MB description: 'Update the Context file and its values. By updating the localisation context, you will replace the existing file This can only affect the current context Required permissions: Following permissions are required: LocalisationEdit' operationId: UpdateLocalisationContextFileLite parameters: - name: localisationId in: path description: Localisation Id required: true schema: type: string format: uuid - name: versionNumber in: path description: Version Number required: true schema: type: integer format: int32 - name: contextName in: path description: Context Name required: true schema: type: string - name: displayName in: query description: Display Name 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: content: multipart/form-data: schema: required: - Data.File type: object properties: Data.File: type: string description: 'File to be saved in the S3 storage File must be in json type and max size is 6 MB' format: binary encoding: Data.File: style: form responses: '202': description: Accepted for processing content: text/plain: schema: $ref: '#/components/schemas/UpdateLocalisationContextDtoServiceResponse' application/json: schema: $ref: '#/components/schemas/UpdateLocalisationContextDtoServiceResponse' text/json: schema: $ref: '#/components/schemas/UpdateLocalisationContextDtoServiceResponse' '400': description: Invalid request content: text/plain: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' text/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Localisation with given ID does not exists 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/ObjectServiceResponse' 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/ObjectServiceResponse' 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/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT /api/localisationcontext/{localisationId}/version/{versionNumber}/context/{contextName}/file: delete: tags: - LocalisationContext summary: Delete Localisation Context file description: 'Delete the Context file. This can only affect the current context Required permissions: Following permissions are required: LocalisationEdit' operationId: DeleteLocalisationContextFile parameters: - name: localisationId in: path description: Localisation Id required: true schema: type: string format: uuid - name: versionNumber in: path description: Version Number required: true schema: type: integer format: int32 - name: contextName in: path description: Context Name 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: '202': description: Accepted for processing content: text/plain: schema: $ref: '#/components/schemas/BooleanServiceResponse' application/json: schema: $ref: '#/components/schemas/BooleanServiceResponse' text/json: schema: $ref: '#/components/schemas/BooleanServiceResponse' '400': description: Invalid request content: text/plain: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' text/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Localisation with given ID does not exists 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/ObjectServiceResponse' 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/ObjectServiceResponse' 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/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT /api/localisationcontext/{localisationId}/version/{versionNumber}/context/{contextName}/validate: post: tags: - LocalisationContext summary: Validate Localisation Context File, Update Data Model and Refresh Cache if Pass… description: 'Validate localisation context json file, refresh data model and cache. If validatation pass, data model and file cache will be refreshed. If validatation fail, it will not refresh data model and cache. Required permissions: Following permissions are required: LocalisationEdit' operationId: ValidateContextAndRefreshCache parameters: - name: localisationId in: path description: Localisation Id required: true schema: type: string format: uuid - name: versionNumber in: path description: Version Number required: true schema: type: integer format: int32 - name: contextName in: path description: Context Name 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: '202': description: Accepted for processing content: text/plain: schema: $ref: '#/components/schemas/ValidateContextAndRefreshCacheDtoServiceResponse' application/json: schema: $ref: '#/components/schemas/ValidateContextAndRefreshCacheDtoServiceResponse' text/json: schema: $ref: '#/components/schemas/ValidateContextAndRefreshCacheDtoServiceResponse' '400': description: Invalid request content: text/plain: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' text/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Localisation with given ID does not exists 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/ObjectServiceResponse' 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/ObjectServiceResponse' 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/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT components: schemas: ValidationErrorModelListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ValidationErrorModel' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false example: data: - propertyName: data errorMessage: Data is required attemptedValue: '' errorCode: NotNullValidator messages: - message: Data is required type: Error errorCode: Error Code LocalisationContextDtoServiceResponse: type: object properties: data: $ref: '#/components/schemas/LocalisationContextDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false UpdateLocalisationContextMetadataDtoServiceRequest: type: object properties: data: $ref: '#/components/schemas/UpdateLocalisationContextMetadataDto' additionalProperties: false UpdateLocalisationContextMetadataDtoServiceResponse: type: object properties: data: $ref: '#/components/schemas/UpdateLocalisationContextMetadataDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ValidationErrorModel: type: object properties: propertyName: type: - string - 'null' errorMessage: type: - string - 'null' attemptedValue: {} errorCode: type: - string - 'null' additionalProperties: false ValidateContextAndRefreshCacheDto: type: object properties: isContextValid: type: boolean message: type: - string - 'null' additionalProperties: false description: Response of ValidateContextAndRefreshCache ServiceResponseMessage: type: object properties: message: type: - string - 'null' type: type: - string - 'null' errorCode: type: - string - 'null' additionalProperties: false UpdateLocalisationContextMetadataDto: type: object properties: description: type: - string - 'null' description: Description of the context example: Translation for Chinese additionalProperties: false description: Defines the context of the localisation file BooleanServiceResponse: type: object properties: data: type: boolean messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ValidateContextAndRefreshCacheDtoServiceResponse: type: object properties: data: $ref: '#/components/schemas/ValidateContextAndRefreshCacheDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false LocalisationContextDto: required: - values type: object properties: name: type: - string - 'null' description: Name of the context example: Default description: type: - string - 'null' description: Description of the context example: Translation for Chinese displayName: type: - string - 'null' description: json File display name values: type: object additionalProperties: {} description: Localisation file for current context additionalProperties: false description: Defines the context of the localisation file UpdateLocalisationContextDtoServiceResponse: type: object properties: data: $ref: '#/components/schemas/UpdateLocalisationContextDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false UpdateLocalisationContextDto: required: - values type: object properties: description: type: - string - 'null' description: Description of the context example: Translation for Chinese values: type: object additionalProperties: {} description: Localisation file for current context displayName: type: - string - 'null' description: User desired name to display of the file example: ThaiTranslation additionalProperties: false description: Defines the context of the localisation file LocalisationContextDtoServiceRequest: type: object properties: data: $ref: '#/components/schemas/LocalisationContextDto' additionalProperties: false ObjectServiceResponse: type: object properties: data: {} messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false StringServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header