{ "openapi": "3.0.1", "info": { "title": "Fenergo Nebula Outreach Command", "description": "**Outreach Command API**:


Outreach Command API provides endpoints in order to manage and configure all related models and their versions.

", "version": "1.0.0" }, "servers": [ { "url": "/outreachcommand" } ], "paths": { "/api/EmailDomain": { "post": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "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": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/NewEmailDomainDtoServiceRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailDomainDtoServiceResponse" } } } }, "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/EmailDomain/{id}/verify": { "put": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "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", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailDomainDtoServiceResponse" } } } }, "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/EmailDomain/{id}/enable": { "put": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "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" }, "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/EmailDomain/{id}/disable": { "put": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "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" }, "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/EmailDomain/{id}": { "delete": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "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" }, "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/EmailMessages": { "post": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "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": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EmailSendDtoServiceRequest" } ] } } } }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailSendResponseDtoServiceResponse" } } } }, "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/portalAccess": { "post": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "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": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PortalAccessEmailDtoServiceRequest" } ] } } } }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PortalAccessEmailResponseDtoServiceResponse" } } } }, "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/outreachDraft": { "post": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "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": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/NewOutreachDraftDtoServiceRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OutreachDraftDtoServiceResponse" } } } }, "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/outreachDraft/draftId/{id}": { "put": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "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": { "allOf": [ { "$ref": "#/components/schemas/UpdateOutreachDraftDtoServiceRequest" } ] } } } }, "responses": { "200": { "description": "OK" }, "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": [ "Fenergo.Nebula.Outreach.Command.Api" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "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" }, "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/outreachDraft/draftId/{id}/submit": { "post": { "tags": [ "Fenergo.Nebula.Outreach.Command.Api" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "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" }, "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": { "EmailDomainDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Domain Id", "format": "uuid", "nullable": true, "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "Domain name", "nullable": true, "example": "testmail.fenergonebula.com" }, "state": { "type": "string", "description": "Domain state according to mailgun", "nullable": true, "example": "verified" }, "enabled": { "type": "boolean", "description": "Determines if domain is enabled and can be used", "example": true }, "receivingDnsRecords": { "type": "array", "items": { "$ref": "#/components/schemas/ReceivingDnsRecord" }, "description": "Domain receiving DNS records from mailgun", "nullable": true, "example": [ { "priority": "10", "record_type": "MX", "valid": "valid", "value": "mxa.mailgun.org" } ] }, "sendingDnsRecords": { "type": "array", "items": { "$ref": "#/components/schemas/SendingDnsRecord" }, "description": "Domain sending DNS records from mailgun", "nullable": true, "example": [ { "record_type": "TXT", "valid": "valid", "name": "domain.com", "value": "v=spf1 include:mailgun.org ~all" } ] } }, "additionalProperties": false, "description": "DTO representing email domain" }, "EmailDomainDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EmailDomainDto" } ], "description": "DTO representing email domain", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "EmailSendDto": { "type": "object", "properties": { "to": { "type": "string", "description": "Email address of a receipient", "nullable": true, "example": "user.name@fenergo.com" }, "headerCc": { "type": "string", "description": "(optional) Email address added only to the visible Cc header without routing delivery", "nullable": true, "example": "header.cc.user@fenergo.com" }, "templateName": { "type": "string", "description": "Name of mailgun template", "nullable": true, "example": "journey-template" }, "variables": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "description": "Variables which will be passed to template", "nullable": true, "example": { "Username": "John Doe", "Logo": "https://test-images.com/image" } }, "domainId": { "type": "string", "description": "(optional) Domain Id of an email domain to be used for sending email. Defaults to domain identified by TenantId", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing email send request" }, "EmailSendDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EmailSendDto" } ], "description": "Request DTO representing email send request", "nullable": true } }, "additionalProperties": false }, "EmailSendResponseDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Message Id in mailgun", "nullable": true, "example": "20230104083737.750bcf084d35a5a2@testmail.fenergonebula.com" }, "message": { "type": "string", "description": "Message from mailgun", "nullable": true, "example": "Queued. Thank you." } }, "additionalProperties": false, "description": "Response DTO representing email send response" }, "EmailSendResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EmailSendResponseDto" } ], "description": "Response DTO representing email send response", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "NewEmailDomainDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Domain name", "nullable": true, "example": "testmail.fenergonebula.com" }, "useTenantIdAsDomainId": { "type": "boolean", "description": "Determines if Domain ID should be set to TenantId. True by default." } }, "additionalProperties": false, "description": "Request DTO representing new email domain request" }, "NewEmailDomainDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/NewEmailDomainDto" } ], "description": "Request DTO representing new email domain request", "nullable": true } }, "additionalProperties": false }, "NewOutreachDraftDto": { "type": "object", "properties": { "journeyId": { "type": "string", "description": "The journey this outreach draft belongs to", "nullable": true }, "mainEntityId": { "type": "string", "description": "The main entity (client) this outreach draft targets", "nullable": true } }, "additionalProperties": false, "description": "Request DTO for initialising a new outreach draft" }, "NewOutreachDraftDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/NewOutreachDraftDto" } ], "description": "Request DTO for initialising a new outreach draft", "nullable": true } }, "additionalProperties": false }, "ObjectServiceResponse": { "type": "object", "properties": { "data": { "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "OutreachContactDto": { "type": "object", "properties": { "fullName": { "type": "string", "nullable": true }, "role": { "type": "string", "nullable": true }, "selected": { "type": "boolean" } }, "additionalProperties": false }, "OutreachDataFieldDto": { "type": "object", "properties": { "fieldName": { "type": "string", "nullable": true }, "tooltip": { "type": "string", "nullable": true }, "category": { "type": "string", "nullable": true }, "dataKey": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OutreachDataGroupDto": { "type": "object", "properties": { "dataGroupName": { "type": "string", "nullable": true }, "tooltip": { "type": "string", "nullable": true }, "category": { "type": "string", "nullable": true }, "dataKey": { "type": "string", "nullable": true }, "overallMinimumCount": { "type": "integer", "format": "int32", "nullable": true }, "requiredTypesMinCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "nullable": true } }, "additionalProperties": false }, "OutreachDocumentDto": { "type": "object", "properties": { "documentRequirementName": { "type": "string", "nullable": true }, "tooltip": { "type": "string", "nullable": true }, "category": { "type": "string", "nullable": true }, "dataKey": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OutreachDraftDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "journeyId": { "type": "string", "nullable": true }, "mainEntityId": { "type": "string", "nullable": true }, "mainEntityType": { "type": "string", "nullable": true }, "createdBy": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "draftedAt": { "type": "string", "format": "date-time", "nullable": true }, "status": { "type": "string", "nullable": true }, "summary": { "type": "string", "nullable": true }, "items": { "allOf": [ { "$ref": "#/components/schemas/OutreachItemsDto" } ], "nullable": true }, "contacts": { "type": "array", "items": { "$ref": "#/components/schemas/OutreachContactDto" }, "nullable": true }, "outreachChannel": { "type": "string", "nullable": true }, "message": { "allOf": [ { "$ref": "#/components/schemas/OutreachMessageDto" } ], "nullable": true } }, "additionalProperties": false, "description": "Response DTO representing an outreach draft" }, "OutreachDraftDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/OutreachDraftDto" } ], "description": "Response DTO representing an outreach draft", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "OutreachItemsDto": { "type": "object", "properties": { "dataFields": { "type": "array", "items": { "$ref": "#/components/schemas/OutreachDataFieldDto" }, "nullable": true }, "dataGroups": { "type": "array", "items": { "$ref": "#/components/schemas/OutreachDataGroupDto" }, "nullable": true }, "documents": { "type": "array", "items": { "$ref": "#/components/schemas/OutreachDocumentDto" }, "nullable": true }, "relatedParties": { "type": "array", "items": { "$ref": "#/components/schemas/OutreachRelatedPartyDto" }, "nullable": true } }, "additionalProperties": false }, "OutreachMessageDto": { "type": "object", "properties": { "messageSubject": { "type": "string", "nullable": true }, "messageTemplate": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OutreachRelatedPartyDto": { "type": "object", "properties": { "entityId": { "type": "string", "nullable": true }, "entityDraftId": { "type": "string", "nullable": true }, "entityType": { "type": "string", "nullable": true }, "relationship": { "type": "string", "nullable": true }, "items": { "allOf": [ { "$ref": "#/components/schemas/OutreachItemsDto" } ], "nullable": true } }, "additionalProperties": false }, "PortalAccessEmailDto": { "type": "object", "properties": { "to": { "type": "string", "description": "Email address of the recipient", "nullable": true, "example": "user.name@fenergo.com" }, "journeyId": { "type": "string", "description": "The journey this portal access link grants access to", "nullable": true, "example": "a1b2c3d4-e5f6-4a1b-8c2d-3e4f5a6b7c8d" }, "draftId": { "type": "string", "description": "The Outreach Draft whose journey summary report the portal form should load.", "format": "uuid", "example": "d369d812-7c10-4952-8c28-3ad50df19c10" }, "domainId": { "type": "string", "description": "(optional) Domain Id of an email domain to be used for sending email. Defaults to domain identified by TenantId", "format": "uuid", "nullable": true }, "variables": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "description": "(optional) Branding/template variable overrides for the PORTALACCESS template - PortalName,\r\nPortalIconLink, Subject, PrimaryColor, MainText, SubText, ButtonText, FooterText. Any variable\r\nnot supplied here falls back to a bank-approved default, so a caller can omit this entirely.\r\nPortalAccessLink and CaseReference are always server-derived and cannot be overridden.", "nullable": true, "example": { "PortalName": "Fenergo Portal", "Subject": "Your secure link" } } }, "additionalProperties": false, "description": "Request DTO representing a portal access link email send request" }, "PortalAccessEmailDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/PortalAccessEmailDto" } ], "description": "Request DTO representing a portal access link email send request", "nullable": true } }, "additionalProperties": false }, "PortalAccessEmailResponseDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Id of the generated portal access link token", "nullable": true, "example": "a1b2c3d4-e5f6-4a1b-8c2d-3e4f5a6b7c8d" }, "message": { "type": "string", "description": "Message from mailgun", "nullable": true, "example": "Queued. Thank you." } }, "additionalProperties": false, "description": "Response DTO representing a portal access link email send response" }, "PortalAccessEmailResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/PortalAccessEmailResponseDto" } ], "description": "Response DTO representing a portal access link email send response", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ReceivingDnsRecord": { "type": "object", "properties": { "recordType": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true }, "priority": { "type": "string", "nullable": true } }, "additionalProperties": false, "description": "DTO representing Receiving Dns Record" }, "SendingDnsRecord": { "type": "object", "properties": { "recordType": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true } }, "additionalProperties": false, "description": "DTO representing Sending Dns Record" }, "ServiceResponseMessage": { "type": "object", "properties": { "message": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "errorCode": { "type": "string", "nullable": true } }, "additionalProperties": false }, "StringServiceResponse": { "type": "object", "properties": { "data": { "type": "string", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "UpdateOutreachDraftDto": { "type": "object", "properties": { "summary": { "type": "string", "nullable": true }, "items": { "allOf": [ { "$ref": "#/components/schemas/OutreachItemsDto" } ], "nullable": true }, "contacts": { "type": "array", "items": { "$ref": "#/components/schemas/OutreachContactDto" }, "nullable": true }, "outreachChannel": { "type": "string", "nullable": true }, "message": { "allOf": [ { "$ref": "#/components/schemas/OutreachMessageDto" } ], "nullable": true } }, "additionalProperties": false, "description": "Request DTO for updating an outreach draft" }, "UpdateOutreachDraftDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdateOutreachDraftDto" } ], "description": "Request DTO for updating an outreach draft", "nullable": true } }, "additionalProperties": false } }, "securitySchemes": { "Bearer": { "type": "apiKey", "description": "Please insert JWT with Bearer into field", "name": "Authorization", "in": "header" } } }, "security": [ { "Bearer": [ ] } ] }