openapi: 3.2.0 info: title: Fenergo Mapping API version: '1.0' description: 'Operations tagged Mapping across 2 of this provider''s published API definitions: fenergo-externaldatacommand-v1-0-openapi.json, fenergo-externaldataquery-v1-0-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: /externaldatacommand - url: /externaldataquery security: - Bearer: [] tags: - name: Mapping paths: /api/mapping/provider/{providerId}: put: tags: - Mapping summary: Create or replace mapping description: 'This method creates or replaces mapping between provider adapter schema and the FenX policy. Required permissions: Following permissions are required: ExternalDataMapperEdit Required permissions: Following permissions are required: ExternalDataMapperEdit' operationId: PutMapping parameters: - name: providerId in: path description: Provider ID 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: Create or replace mapping request content: application/json: schema: allOf: - $ref: '#/components/schemas/ProviderMappingDtoServiceRequest' description: Service request data responses: '202': description: Success. '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '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 delete: tags: - Mapping summary: Delete Mappings description: 'This method deletes mapping for a provider. Required permissions: Following permissions are required: ExternalDataMapperEdit Required permissions: Following permissions are required: ExternalDataMapperEdit' operationId: DeleteMapping parameters: - name: providerId in: path description: Provider Id where mapping will be deleted 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: Success. '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '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 get: tags: - Mapping summary: Get provider mapping description: 'This method will return provider mappings for specific tenant Required permissions: At least one of the following permissions is required: ExternalDataMapperAccess, ExternalDataAccess Required permissions: At least one of the following permissions is required: ExternalDataMapperAccess, ExternalDataAccess' operationId: GetProviderMapping parameters: - name: providerId in: path description: The ID of provider required: true schema: type: string - name: entityType in: query description: Entity type for schema 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: Instance of Fenergo.Nebula.ExternalData.Query.Application.Dto.Mapping.ProviderMappingDto class containing mapping for provider content: application/json: schema: $ref: '#/components/schemas/ProviderMappingDtoServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Mapping for given tenant does not exist 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 servers: - url: /externaldatacommand /api/mapping/provider/{providerId}/operation: put: tags: - Mapping summary: Create or replace Operation Mapping description: 'This method creates or replaces operation mapping for a provider. Mapping is saved for specific operation type. Required permissions: Following permissions are required: ExternalDataMapperEdit Required permissions: Following permissions are required: ExternalDataMapperEdit' operationId: PutOperationMapping parameters: - name: providerId in: path description: Provider ID 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: Create or replace operation mapping request content: application/json: schema: allOf: - $ref: '#/components/schemas/OperationMappingDtoServiceRequest' description: Service request data responses: '202': description: Success. '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '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 servers: - url: /externaldatacommand /api/mapping/configuration: get: tags: - Mapping summary: Get mapping configuration description: 'This method will return mapping configuration Required permissions: Following permissions are required: ExternalDataMapperAccess Required permissions: Following permissions are required: ExternalDataMapperAccess' operationId: GetMappingConfiguration parameters: - name: entityType in: query description: Entity type for schema 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: Instance of Fenergo.Nebula.ExternalData.Query.Application.Dto.Mapping.MappingConfigurationDto class containing mapping configuration content: application/json: schema: $ref: '#/components/schemas/MappingConfigurationDtoServiceResponse' '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 servers: - url: /externaldataquery components: schemas: ServiceResponse: type: object properties: data: type: - string - 'null' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data MapDto: type: object properties: name: type: - string - 'null' description: Map Name example: Example Map map: allOf: - $ref: '#/components/schemas/Map' description: Map defining source to target fields transformations additionalProperties: false description: Class to represent Source - Target Map ObjectSelector: type: object properties: fieldName: type: - string - 'null' value: type: - string - 'null' additionalProperties: false ObjectField: type: object properties: name: type: - string - 'null' order: type: integer format: int32 isLoV: type: boolean loVMapName: type: - string - 'null' additionalProperties: false ObjectToTextProperties: type: object properties: separator: type: - string - 'null' fields: type: - array - 'null' items: $ref: '#/components/schemas/ObjectField' selector: allOf: - $ref: '#/components/schemas/ObjectSelector' additionalProperties: false LoVMap: type: object properties: name: type: - string - 'null' map: type: - object - 'null' additionalProperties: type: - string - 'null' additionalProperties: false Mapping: type: object properties: source: type: - string - 'null' target: type: - string - 'null' type: allOf: - $ref: '#/components/schemas/MappingType' loVMapName: type: - string - 'null' toArray: type: boolean displaySource: type: boolean constantValue: type: - string - 'null' objectToTextProperties: allOf: - $ref: '#/components/schemas/ObjectToTextProperties' mappings: type: - array - 'null' items: $ref: '#/components/schemas/Mapping' additionalProperties: false ProviderMappingDto: required: - operationsMappings type: object properties: operationsMappings: type: array items: $ref: '#/components/schemas/OperationMappingDto' description: Set of Operation Mappings (Search Request, Search Response, Get Request, Get Response) additionalProperties: false description: Class to represent mappings set for Provider 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 Map: type: object properties: mappings: type: - array - 'null' items: $ref: '#/components/schemas/Mapping' loVMaps: type: - array - 'null' items: $ref: '#/components/schemas/LoVMap' loVArrayMaps: type: - array - 'null' items: $ref: '#/components/schemas/LoVArrayMap' additionalProperties: false ProviderMappingDtoServiceRequest: required: - data type: object properties: data: allOf: - $ref: '#/components/schemas/ProviderMappingDto' description: The service request DTO additionalProperties: false description: Service request data MappingType: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 type: integer format: int32 OperationMappingDto: required: - maps - operation - operationType type: object properties: operation: minLength: 1 enum: - Search - Get type: string description: Operation for which mapping is defined. example: Search operationType: minLength: 1 enum: - Request - Response type: string description: Operation Type where mapping will be applied. example: Request entityType: enum: - Company - Individual type: - string - 'null' description: Entity Type details which mapping will be defined. example: Company maps: type: array items: $ref: '#/components/schemas/MapDto' description: Set of Maps additionalProperties: false description: Class to represent mapping for single operation LoVArrayMap: type: object properties: name: type: - string - 'null' map: type: - object - 'null' additionalProperties: type: - array - 'null' items: type: string additionalProperties: false OperationMappingDtoServiceRequest: required: - data type: object properties: data: allOf: - $ref: '#/components/schemas/OperationMappingDto' description: The service request DTO additionalProperties: false description: Service request data ObjectServiceResponse: type: object properties: data: description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data StringServiceResponse: type: object properties: data: type: - string - 'null' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data MapDto_2: type: object properties: name: type: - string - 'null' description: Map Name example: Example map map: allOf: - $ref: '#/components/schemas/Map' description: Map defining source to target fields transformations additionalProperties: false description: Class to represent Source - Target Map OperationMappingDto_2: type: object properties: operation: enum: - Search - Get type: - string - 'null' description: Operation for which mapping is defined. example: Search operationType: enum: - Request - Response type: - string - 'null' description: Operation Type where mapping will be applied. example: Request maps: type: - array - 'null' items: $ref: '#/components/schemas/MapDto_2' description: Set of Maps additionalProperties: false description: Class to represent mapping for single operation MappingToolAllowedMappingTypesDto: type: object properties: sourcePropertyType: type: - string - 'null' targetPropertyType: type: - string - 'null' mappingTypes: type: - array - 'null' items: type: string additionalProperties: false OperationDto: type: object properties: operation: type: - string - 'null' operationType: type: - string - 'null' mappings: type: - array - 'null' items: $ref: '#/components/schemas/MappingIdentifierDto' additionalProperties: false MappingConfigurationDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/MappingConfigurationDto' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data MappingIdentifierDto: type: object properties: name: type: - string - 'null' category: type: - string - 'null' entityType: type: - string - 'null' targetEntity: type: - string - 'null' additionalProperties: false MappingToolTypesDto: type: object properties: id: type: integer format: int32 name: type: - string - 'null' caption: type: - string - 'null' additionalProperties: false MappingToolConfigurationDto: type: object properties: types: type: - array - 'null' items: $ref: '#/components/schemas/MappingToolTypesDto' allowedMappingTypes: type: - array - 'null' items: $ref: '#/components/schemas/MappingToolAllowedMappingTypesDto' additionalProperties: false MappingConfigurationDto: type: object properties: operations: type: - array - 'null' items: $ref: '#/components/schemas/OperationDto' mappingToolConfiguration: allOf: - $ref: '#/components/schemas/MappingToolConfigurationDto' additionalProperties: false ProviderMappingDto_2: type: object properties: providerId: type: - string - 'null' description: The UiD of the Provider example: f47b539d-ffb8-4cf2-bf68-1af79e3b0040 operationsMappings: type: - array - 'null' items: $ref: '#/components/schemas/OperationMappingDto_2' description: Set of Operation Mappings (Search Request, Search Response, Get Request, Get Response) additionalProperties: false description: Class to represent mappings set for Provider ProviderMappingDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ProviderMappingDto_2' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/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-externaldatacommand-v1-0-openapi.json - fenergo-externaldataquery-v1-0-openapi.json