{
"openapi": "3.0.4",
"info": {
"title": "Fenergo Nebula New Request",
"description": "**New Request API**:\n\n
New Request API allows to configure the New Request steps. \n\n",
"version": "1.0"
},
"servers": [
{
"url": "/newrequest"
}
],
"paths": {
"/api/configuration": {
"put": {
"tags": [
"Configuration"
],
"summary": "Save Configuration",
"description": "\nThis save configuration for a given tenant.
Required permissions:
Following permissions are required: NewEntityConfigurationEdit
Required permissions:
Following permissions are required: NewEntityConfigurationEdit",
"operationId": "SaveConfiguration",
"parameters": [
{
"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": "Configuration request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateConfigurationRequestDtoServiceRequest"
}
],
"description": "Service request data"
}
}
}
},
"responses": {
"202": {
"description": "Success. Configuration saved"
},
"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": [
"Configuration"
],
"summary": "Get configuration",
"description": "\nThis method will return configuration for given tenant",
"operationId": "GetConfiguration",
"parameters": [
{
"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": "Success. Configuration returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"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"
}
]
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"ConfigurationDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"tenant": {
"type": "string",
"nullable": true
},
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
},
"nullable": true
},
"created": {
"type": "string",
"format": "date-time"
},
"defaultEntityType": {
"allOf": [
{
"$ref": "#/components/schemas/EntityType"
}
]
},
"userExperienceType": {
"allOf": [
{
"$ref": "#/components/schemas/UserExperience"
}
]
},
"overwrittenStages": {
"type": "object",
"properties": {
"Individual": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
},
"Company": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
},
"Other": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
},
"EntityGroup": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
},
"Product": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
}
},
"additionalProperties": false,
"nullable": true
}
},
"additionalProperties": false
},
"ConfigurationDtoServiceResponse": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/ConfigurationDto"
}
],
"description": "The service response DTO",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response",
"nullable": true
}
},
"additionalProperties": false,
"description": "Service response data"
},
"ConfigurationStageDto": {
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/components/schemas/ConfigurationStageType"
}
]
},
"name": {
"type": "string",
"nullable": true
},
"order": {
"type": "integer",
"format": "int32"
},
"data": {
"nullable": true
}
},
"additionalProperties": false
},
"ConfigurationStageType": {
"enum": [
"ClientDetails",
"DuplicateCheck",
"ExternalDataCheck",
"Confirmation"
],
"type": "string"
},
"CreateConfigurationRequestDto": {
"type": "object",
"properties": {
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
},
"nullable": true
},
"defaultEntityType": {
"allOf": [
{
"$ref": "#/components/schemas/EntityType"
}
]
},
"userExperienceType": {
"allOf": [
{
"$ref": "#/components/schemas/UserExperience"
}
]
},
"overwrittenStages": {
"type": "object",
"properties": {
"Individual": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
},
"Company": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
},
"Other": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
},
"EntityGroup": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
},
"Product": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationStageDto"
}
}
},
"additionalProperties": false,
"nullable": true
}
},
"additionalProperties": false
},
"CreateConfigurationRequestDtoServiceRequest": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/CreateConfigurationRequestDto"
}
],
"description": "The service request DTO",
"nullable": true
}
},
"additionalProperties": false,
"description": "Service request data"
},
"EntityType": {
"enum": [
"Individual",
"Company",
"Other",
"EntityGroup",
"Product"
],
"type": "string"
},
"ObjectServiceResponse": {
"type": "object",
"properties": {
"data": {
"description": "The service response DTO",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response",
"nullable": true
}
},
"additionalProperties": false,
"description": "Service response data"
},
"ServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "string",
"description": "The service response DTO",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response",
"nullable": true
}
},
"additionalProperties": false,
"description": "Service response data"
},
"ServiceResponseMessage": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The message",
"nullable": true,
"example": "Success"
},
"type": {
"type": "string",
"description": "Type of the message\nOne of Info, Warning, Error, Forbidden",
"nullable": true,
"example": "Info"
},
"errorCode": {
"type": "string",
"description": "Error Code",
"nullable": true,
"example": "INTERNAL_SERVER_ERROR"
}
},
"additionalProperties": false,
"description": "The message associated to the service response"
},
"StringServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "string",
"description": "The service response DTO",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response",
"nullable": true
}
},
"additionalProperties": false,
"description": "Service response data"
},
"UserExperience": {
"enum": [
"Standard",
"ExternalProviderEnhanced"
],
"type": "string"
}
},
"securitySchemes": {
"Bearer": {
"type": "apiKey",
"description": "Please insert JWT with Bearer into field",
"name": "Authorization",
"in": "header"
}
}
},
"security": [
{
"Bearer": [ ]
}
]
}