{ "openapi": "3.0.1", "info": { "title": "document", "description": "This API collection provides the capability of supporting the management of document files and document information in the platform. This includes the Market Reform Contract (MRC) as well as supporting documents that can be added at various levels of hierarchy in the Placement structure.\n\nEnables the creation and management of Document data relating to the hierarchical structure of a Placement. This includes the management of the Market Reform Contract (MRC) documents and any supporting documentation that is used as part of a Submission to an Underwriter for insurance placement purposes.", "version": "1" }, "servers": [ { "url": "https://sand-api.londonmarketgroup.co.uk/ppl/nextgen/documents", "description": "Joint Integration testing (JIT2) environment" } ], "tags": [ { "name": "health" }, { "name": "version" }, { "name": "document" } ], "paths": { "/health": { "get": { "tags": [ "health" ], "description": "Checks the health of this Document Resource API.", "operationId": "Health", "responses": { "200": { "description": "UP if ok.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/health" } } } } } } }, "/version": { "get": { "tags": [ "version" ], "description": "Checks the version of this Document Resource API.", "operationId": "Version", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/version" } } } } } } }, "/documents": { "get": { "tags": [ "document" ], "description": "Returns a list of all Document records associated within a specified Placement structure, based upon various query parameters. Pagination functionality is supported on this operation.", "operationId": "Document_GetAll_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A list of system-generated unique identifiers for each Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "pattern": "^(?:[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})(?:,[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})*$", "type": "array", "items": { "type": "string" } } }, { "name": "placementId", "in": "query", "description": "A system-generated unique identifier for a Placement, with a format and structure defined by the technology used.\nSearch using multiple exact match method, e.g. placementId=placement1,placement2,placement3.", "schema": { "type": "string", "pattern": "^(.*)(,.*)*$" } }, { "name": "documentId", "in": "query", "description": "A system-generated identifier for each Document record, with a format and structure defined by the technology used. This identifier is used to group multiple versions of Document records together.\nSearch using multiple exact match method, e.g. documentId=id1,id2,id3.", "schema": { "type": "string", "pattern": "^(.*)(,.*)*$" } }, { "name": "createdDate", "in": "query", "description": "The date timestamp when the entity was created.\nSearch using range method, e.g. createdDate=range(date1,date2).", "schema": { "type": "string", "pattern": "^range\\(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z\\)$" } }, { "name": "modifiedDate", "in": "query", "description": "The date timestamp when the entity was modified.\nSearch using range method, e.g. modifiedDate=range(date1,date2).", "schema": { "type": "string", "pattern": "^range\\(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z\\)$" } }, { "name": "uploadUserEmail", "in": "query", "description": "The User email of the User that uploaded the Document.\nSearch using multiple exact match method, e.g. uploadUserEmail=email1,email2,email3.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+(,[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+)*$" } }, { "name": "uploadUserFirstName", "in": "query", "description": "The first name of the User that uploaded the Document.\nSearch using contains method, e.g. uploadUserFirstName=contains(astring).", "schema": { "type": "string", "pattern": "^contains\\(.{1,40}\\)$" } }, { "name": "uploadUserLastName", "in": "query", "description": "The last name of the User that uploaded the Document.\nSearch using contains method, e.g. uploadUserLastName=contains(astring).", "schema": { "type": "string", "pattern": "^contains\\(.{1,40}\\)$" } }, { "name": "teamName", "in": "query", "description": "The name of the Broker Team, as defined by the broker organisation.\nSearch using contains method, e.g. teamName=contains(astring).", "schema": { "type": "string", "pattern": "^contains\\(.{1,256}\\)$" } }, { "name": "fileName", "in": "query", "description": "The file name of the Document, including its file extension.\nSearch using contains method, e.g. fileName=contains(astring).", "schema": { "type": "string", "pattern": "^contains\\(.{1,40}\\)$" } }, { "name": "description", "in": "query", "description": "A description about the Document and / or its contents.\nSearch using contains method, e.g. description=contains(astring).", "schema": { "type": "string", "pattern": "^contains\\(.{1,256}\\)$" } }, { "name": "classType", "in": "query", "description": "A code that describes the class of Document. Examples include Digitised MRC, Non-digitised MRC or Supporting Document.\nSearch using multiple exact match method, e.g. classType=code1,code2,code3.", "schema": { "type": "string", "pattern": "^(.*)(,.*)*$" } }, { "name": "type", "in": "query", "description": "A code that represents the type of Document.\nSearch using multiple exact match method, e.g. type=code1,code2,code3.", "schema": { "type": "string", "pattern": "^(.*)(,.*)*$" } }, { "name": "contextType", "in": "query", "description": "Identifies where within a Placement structure this Document is held.\nSearch using multiple exact match method, e.g. contextType=code1,code2,code3.", "schema": { "type": "string", "pattern": "^(.*)(,.*)*$" } }, { "name": "contextId", "in": "query", "description": "The unique identifier given within the hierarchy of the Placement structure where the Document is held.\nSearch using multiple exact match method, e.g. contextId=id1,id2,id3.", "schema": { "type": "string", "pattern": "^(.*)(,.*)*$" } }, { "name": "sort", "in": "query", "description": "Sorting field and order (unique field only).\nUse + before the field name for ascending order, use - for descending order.", "schema": { "type": "string", "pattern": "^[+-]?\\w+$" } }, { "name": "pageNumber", "in": "query", "description": "Number of the page to be retrieved.", "schema": { "type": "integer", "format": "int32", "minimum": 1 }, "example": 1 }, { "name": "pageSize", "in": "query", "description": "Size of the page to be retrieved.", "schema": { "type": "integer", "format": "int32", "minimum": 1, "maximum": 200 }, "example": 200 } ], "responses": { "200": { "description": "List of Document records", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/response_documents_getall" } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } } }, "post": { "tags": [ "document" ], "description": "Creates a Document record, representing either the Market Reform Contract (MRC) or another type of supporting document. The request contains the document attributes as well as the electronic file which will be submitted into the platform's content management system. This end point will also be used for when an electronic file is to be replaced, i.e. versioned.", "operationId": "Document_Post_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } } ], "requestBody": { "description": "Document structure for creates.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_post_FileString" } } }, "required": true }, "responses": { "200": { "description": "Document record", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_post_response" } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } }, "x-codegen-request-body-name": "document" } }, "/documents/versions/{documentVersionId}": { "get": { "tags": [ "document" ], "description": "Returns a single Document record. This record will contain the document attributes of the document, but does not provide the electronic file.", "operationId": "Document_GetById_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "documentVersionId", "in": "path", "description": "A system-generated unique identifier for a Document Version, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } } ], "responses": { "200": { "description": "Document record", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_get" } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } } }, "put": { "tags": [ "document" ], "description": "Updates the data attributes of a Document record. This operation will not replace the electronic file.", "operationId": "Document_Put_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "X-Last-Modified", "in": "header", "description": "The date timestamp to be used to validate an update operation.", "required": true, "schema": { "type": "string", "format": "date-time" }, "example": "2014-12-31T23:59:59.938Z" }, { "name": "documentVersionId", "in": "path", "description": "A system-generated unique identifier for a Document Version, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } } ], "requestBody": { "description": "Document structure for updates.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_put" } } }, "required": true }, "responses": { "200": { "description": "Document record", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_get" } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } }, "x-codegen-request-body-name": "document" }, "delete": { "tags": [ "document" ], "description": "Deletes a Document record, where the record is in a state that enables its deletion.", "operationId": "Document_Delete_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "documentVersionId", "in": "path", "description": "A system-generated unique identifier for a Document Version, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } } ], "responses": { "200": { "description": "Document outpur structure for delete", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_delete_response" } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } } } }, "/documents/versions/{documentVersionId}/content": { "get": { "tags": [ "document" ], "description": "Returns the electronic file that is represented by the Document record. This is the subsequent end point that is called following an asynchronous response that the electronic file is ready to be downloaded.", "operationId": "Document_GetContent_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "documentVersionId", "in": "path", "description": "A system-generated unique identifier for a Document Version, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "notificationId", "in": "query", "description": "A system-generated unique identifier for a Notification, with a format and structure defined by the technology used.\nSearch using (mandatory) single exact match method, e.g. notificationId=guid.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } } ], "responses": { "200": { "description": "The binary data that represents the electronic file which the Document refers to.", "content": { "application/octet-stream": { "schema": { "type": "string", "description": "The binary data that represents the electronic file which the Document refers to." } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } } } }, "/documents/versions/{documentVersionId}/download": { "post": { "tags": [ "document" ], "description": "Initiates the asynchronous operation to download the electronic file of this document.", "operationId": "Document_PostDownload_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "documentVersionId", "in": "path", "description": "A system-generated unique identifier for a Document Version, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } } ], "requestBody": { "description": "Dummy request body for LIMOSS consumption.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_post_download" } } } }, "responses": { "200": { "description": "The Notification information relating to the Document. ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notification" } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } } } }, "/documents/versions/{documentVersionId}/security/content": { "get": { "tags": [ "document" ], "description": "Returns the electronic file that represents the Market Reform Contract with its underwriting security page(s) and settlement information. This is the subsequent end point that is called following an asynchronous response that the electronic file is ready to be downloaded.", "operationId": "Document_GetSecurityContent_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "documentVersionId", "in": "path", "description": "A system-generated unique identifier for a Document Version, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "notificationId", "in": "query", "description": "A system-generated unique identifier for a Notification, with a format and structure defined by the technology used.\nSearch using (mandatory) single exact match method, e.g. notificationId=guid.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } } ], "responses": { "200": { "description": "The binary data that represents the electronic file which the Document refers to.", "content": { "application/octet-stream": { "schema": { "type": "string", "description": "The binary data that represents the electronic file which the Document refers to." } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } } } }, "/documents/versions/{documentVersionId}/security/download": { "post": { "tags": [ "document" ], "description": "Initiates the asynchronous operation to download the Market Reform Contract with its underwriting security page(s) and settlement information.", "operationId": "Document_PostSecurityDownload_v1", "parameters": [ { "name": "X-Auth-Impersonated-User", "in": "header", "description": "The email address of the Requesting User or the Impersonated User.", "schema": { "type": "string", "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" } }, { "name": "X-Auth-Team", "in": "header", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, { "name": "documentVersionId", "in": "path", "description": "A system-generated unique identifier for a Document Version, with a format and structure defined by the technology used.", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } } ], "requestBody": { "description": "Document structure for post security download.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_post_securitydownload" } } }, "required": true }, "responses": { "200": { "description": "The Notification information relating to the Document. ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/document_post_securitydownload_output" } } } }, "400": { "description": "Mandatory header parameter is missing from the request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "401": { "description": "Authentication error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "404": { "description": "Invalid team or user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "414": { "description": "The maximum field length of the URI provided for the request has been exceeded.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "429": { "description": "Too many requests.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error_document" } } } } }, "x-codegen-request-body-name": "securityDetails" } } }, "components": { "schemas": { "health": { "type": "object", "properties": { "health": { "type": "string", "description": "health value", "default": "" } }, "description": "Health endpoint payload" }, "version": { "type": "object", "properties": { "apiVersionNumber": { "type": "string", "description": "API Version Number", "default": "" }, "implementationVersion": { "type": "string", "description": "Implementation Version", "default": "" } }, "description": "Version endpoint payload" }, "broker_team": { "required": [ "team_id", "team_name" ], "type": "object", "properties": { "team_id": { "type": "string", "description": "A system-generated unique identifier for a Broker Team, with a format and structure defined by the technology used.", "default": "" }, "team_name": { "type": "string", "description": "The name of the Broker Team, as defined by the broker organisation.", "default": "" } }, "additionalProperties": false, "description": "The team information of the Broker Team responsible for the node." }, "context_document": { "required": [ "context_id", "context_type" ], "type": "object", "properties": { "context_type": { "type": "string", "description": "Identifies where within the hierarchical structure of a Placement this Document is held.", "default": "" }, "context_id": { "type": "string", "description": "The unique identifier within the hierarchical structure of a Placement where this Document is held.", "default": "", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" } }, "additionalProperties": false, "description": "Contextual information about where this Document sits within the Placement structure hierarchy. Document records can exist at Placement, Programme, Contract, Section or Subpanel level." }, "document_delete_response": { "required": [ "broker_team", "class_type", "context", "description", "document_id", "document_version_id", "filename", "is_shared", "major_version", "metadata", "minor_version", "notification", "size", "status", "type", "user", "version" ], "type": "object", "properties": { "document_version_id": { "type": "string", "description": "A system-generated unique identifier for a Document, with a format and structure defined by the technology used.", "default": "" }, "document_id": { "type": "string", "description": "A system-generated identifier for each Document record, with a format and structure defined by the technology used. This identifier is used to group multiple versions of the same Document together.", "default": "" }, "version": { "type": "string", "description": "The full version number of the Document, as a period separated concatenation of its major version and minor version.", "default": "" }, "major_version": { "type": "integer", "description": "The major version element of the Document's version number.", "format": "int32", "example": 0 }, "minor_version": { "type": "integer", "description": "The minor version element of the Document's version number.", "format": "int32", "example": 0 }, "metadata": { "$ref": "#/components/schemas/metadata" }, "user": { "$ref": "#/components/schemas/team_user" }, "broker_team": { "$ref": "#/components/schemas/broker_team" }, "filename": { "type": "string", "description": "The file name of the Document, including its file extension.", "default": "" }, "description": { "type": "string", "description": "A description about the Document and / or its contents.", "default": "" }, "size": { "type": "integer", "description": "The size of the electronic file of the Document, in bytes.", "format": "int32", "example": 0 }, "class_type": { "type": "string", "description": "A code that describes the class of Document. Examples include Digitised MRC, Non-digitised MRC or Supporting Document.", "default": "" }, "type": { "type": "string", "description": "A code that represents the type of Document.", "default": "" }, "status": { "type": "string", "description": "The code that represents the Document status.", "default": "" }, "context": { "$ref": "#/components/schemas/context_document" }, "is_shared": { "type": "boolean", "description": "Identifies whether this document has been shared as part of a Submission Pack to any Underwriter participating on a Contract within the Placement (true) or not (false).", "example": false }, "notification": { "$ref": "#/components/schemas/notification" } }, "additionalProperties": false, "description": "Document for Delete Output" }, "document_get": { "required": [ "broker_team", "class_type", "context", "description", "document_id", "document_version_id", "filename", "is_shared", "major_version", "metadata", "minor_version", "size", "status", "type", "user", "version" ], "type": "object", "properties": { "document_version_id": { "type": "string", "description": "A system-generated unique identifier for a Document, with a format and structure defined by the technology used.", "default": "" }, "document_id": { "type": "string", "description": "A system-generated identifier for each Document record, with a format and structure defined by the technology used. This identifier is used to group multiple versions of the same Document together.", "default": "" }, "version": { "type": "string", "description": "The full version number of the Document, as a period separated concatenation of its major version and minor version.", "default": "" }, "major_version": { "type": "integer", "description": "The major version element of the Document's version number.", "format": "int32", "example": 0 }, "minor_version": { "type": "integer", "description": "The minor version element of the Document's version number.", "format": "int32", "example": 0 }, "metadata": { "$ref": "#/components/schemas/metadata" }, "user": { "$ref": "#/components/schemas/team_user" }, "broker_team": { "$ref": "#/components/schemas/broker_team" }, "filename": { "type": "string", "description": "The file name of the Document, including its file extension.", "default": "" }, "description": { "type": "string", "description": "A description about the Document and / or its contents.", "default": "" }, "size": { "type": "integer", "description": "The size of the electronic file of the Document, in bytes.", "format": "int32", "example": 0 }, "class_type": { "type": "string", "description": "A code that describes the class of Document. Examples include Digitised MRC, Non-digitised MRC or Supporting Document.", "default": "" }, "type": { "type": "string", "description": "A code that represents the type of Document.", "default": "" }, "status": { "type": "string", "description": "The code that represents the Document status.", "default": "" }, "context": { "$ref": "#/components/schemas/context_document" }, "is_shared": { "type": "boolean", "description": "Identifies whether this document has been shared as part of a Submission Pack to any Underwriter participating on a Contract within the Placement (true) or not (false).", "example": false } }, "additionalProperties": false, "description": "Document for (generic) Gets" }, "document_post_FileString": { "required": [ "context", "description", "file", "filename", "placement_id", "type" ], "type": "object", "properties": { "placement_id": { "type": "string", "description": "A system-generated unique identifier for a Placement, with a format and structure defined by the technology used.", "default": "", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" }, "document_id": { "type": "string", "description": "A system-generated identifier for each Document record, with a format and structure defined by the technology used. This identifier is used to group multiple versions of the same Document together.", "default": "", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" }, "filename": { "type": "string", "description": "The file name of the Document, including its file extension.", "default": "", "pattern": "^.{3,256}$" }, "description": { "type": "string", "description": "A description about the Document and / or its contents.", "default": "", "pattern": "^.{1,40}$" }, "type": { "type": "string", "description": "A code that represents the type of Document.", "default": "" }, "context": { "$ref": "#/components/schemas/context_document" }, "file": { "type": "string", "description": "The binary data that represents the electronic file which the Document refers to.", "default": "" } }, "additionalProperties": false, "description": "Document structure for creates" }, "document_post_response": { "required": [ "broker_team", "class_type", "context", "description", "filename", "is_shared", "notification", "type", "user" ], "type": "object", "properties": { "document_id": { "type": "string", "description": "A system-generated identifier for each Document record, with a format and structure defined by the technology used. This identifier is used to group multiple versions of the same Document together.", "default": "" }, "user": { "$ref": "#/components/schemas/team_user" }, "broker_team": { "$ref": "#/components/schemas/broker_team" }, "filename": { "type": "string", "description": "The file name of the Document, including its file extension.", "default": "" }, "description": { "type": "string", "description": "A description about the Document and / or its contents.", "default": "" }, "class_type": { "type": "string", "description": "A code that describes the class of Document. Examples include Digitised MRC, Non-digitised MRC or Supporting Document.", "default": "" }, "type": { "type": "string", "description": "A code that represents the type of Document.", "default": "" }, "context": { "$ref": "#/components/schemas/context_document" }, "is_shared": { "type": "boolean", "description": "Identifies whether this document has been shared as part of a Submission Pack to any Underwriter participating on a Contract within the Placement (true) or not (false).", "example": false }, "notification": { "$ref": "#/components/schemas/notification" } }, "additionalProperties": false, "description": "Document for Post Output" }, "document_post_download": { "additionalProperties": false, "description": "Dummy payload for LIMOSS Consumption" }, "document_post_securitydownload": { "required": [ "includes_supporting_documents", "security_details_display_type", "security_details_output_type", "security_details_page_numbering", "security_details_stamps_page_break" ], "type": "object", "properties": { "security_details_output_type": { "type": "string", "description": "The code that represents the output of the generated security details.", "default": "" }, "includes_supporting_documents": { "type": "string", "description": "Identifies whether contract level or section level documents are inserted into the final MRC document (true) or not (false).", "pattern": "^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$", "example": "false" }, "security_details_display_type": { "type": "string", "description": "The code that represents the underwriting stamp as a textual-based or graphical-based stamp.", "default": "" }, "security_details_page_numbering": { "type": "string", "description": "Identifies whether the generated security pages have page numbering applied in the footer (true) or not (false).", "pattern": "^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$", "example": "false" }, "security_details_stamps_page_break": { "type": "string", "description": "The code that represents whether underwriting stamps are generated each on a separate page or continuously across fewer pages.", "default": "" } }, "additionalProperties": false, "description": "Document input structure for post security download" }, "document_post_securitydownload_output": { "required": [ "includes_supporting_documents", "notification", "security_details_display_type", "security_details_output_type", "security_details_page_numbering", "security_details_stamps_page_break" ], "type": "object", "properties": { "security_details_output_type": { "type": "string", "description": "The code that represents the output of the generated security details.", "default": "" }, "includes_supporting_documents": { "type": "boolean", "description": "Identifies whether contract level or section level documents are inserted into the final MRC document (true) or not (false).", "example": false }, "security_details_display_type": { "type": "string", "description": "The code that represents the underwriting stamp as a textual-based or graphical-based stamp.", "default": "" }, "security_details_page_numbering": { "type": "boolean", "description": "Identifies whether the generated security pages have page numbering applied in the footer (true) or not (false).", "example": false }, "security_details_stamps_page_break": { "type": "string", "description": "The code that represents whether underwriting stamps are generated each on a separate page or continuously across fewer pages.", "default": "" }, "notification": { "$ref": "#/components/schemas/notification" } }, "additionalProperties": false, "description": "Document output structure for post security download" }, "document_put": { "required": [ "context", "description", "filename", "placement_id", "type" ], "type": "object", "properties": { "placement_id": { "type": "string", "description": "A system-generated unique identifier for a Placement, with a format and structure defined by the technology used.", "default": "", "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$" }, "filename": { "type": "string", "description": "The file name of the Document, including its file extension.", "default": "", "pattern": "^.{3,256}$" }, "description": { "type": "string", "description": "A description about the Document and / or its contents.", "default": "", "pattern": "^.{1,40}$" }, "type": { "type": "string", "description": "A code that represents the type of Document.", "default": "" }, "context": { "$ref": "#/components/schemas/context_document" } }, "additionalProperties": false, "description": "Document structure for updates" }, "metadata": { "required": [ "created_by", "created_channel", "created_date", "modified_by", "modified_channel", "modified_date" ], "type": "object", "properties": { "created_date": { "type": "string", "description": "The date and timestamp when the entity was created.", "format": "date-time", "example": "2014-12-31T23:59:59.938Z" }, "created_channel": { "type": "string", "description": "The mechanism used to create the entity, e.g. OutSystems, API", "default": "" }, "created_by": { "$ref": "#/components/schemas/metadata_user" }, "modified_date": { "type": "string", "description": "The date and timestamp when the entity was modified.", "format": "date-time", "example": "2014-12-31T23:59:59.938Z" }, "modified_channel": { "type": "string", "description": "The mechanism used to modify the entity, e.g. OutSystems, API", "default": "" }, "modified_by": { "$ref": "#/components/schemas/metadata_user" } }, "description": "A collection of data items to support the creation and update of record entities." }, "metadata_user": { "required": [ "user_email" ], "type": "object", "properties": { "user_email": { "type": "string", "description": "The email address of the User.", "default": "" }, "first_name": { "type": "string", "description": "The first name of the User.", "default": "" }, "last_name": { "type": "string", "description": "The last name of the User.", "default": "" } }, "description": "The User information of the Metadata User." }, "notification": { "required": [ "category_type", "notification_id", "status", "type" ], "type": "object", "properties": { "notification_id": { "type": "string", "description": "A system-generated unique identifier for a Notification, with a format and structure defined by the technology used.", "default": "" }, "category_type": { "type": "string", "description": "Identifies the category type of the notification that is being processed in an asynchronous manner.", "default": "" }, "type": { "type": "string", "description": "Identifies the type of notification that is being processed in an asynchronous manner.", "default": "" }, "status": { "type": "string", "description": "The code that represents the Notification status.", "default": "" } }, "additionalProperties": false, "description": "The Notification information relating to the Document. " }, "response_documents_getall": { "type": "object", "properties": { "documents": { "type": "array", "description": "List of documents retrieved", "items": { "$ref": "#/components/schemas/document_get" } }, "page_number": { "type": "integer", "description": "Number of the page retrieved", "format": "int32", "example": 0 }, "count": { "type": "integer", "description": "The number of records on the current page", "format": "int32", "example": 0 }, "total_results": { "type": "integer", "description": "Total number of results", "format": "int32", "example": 0 }, "page_size": { "type": "integer", "description": "Size of the page retrieved", "format": "int32", "example": 0 } }, "additionalProperties": false, "description": "" }, "team_user": { "required": [ "user_email" ], "type": "object", "properties": { "user_email": { "type": "string", "description": "The email address of the User.", "default": "" }, "first_name": { "type": "string", "description": "The first name of the User.", "default": "" }, "last_name": { "type": "string", "description": "The last name of the User.", "default": "" } }, "additionalProperties": false, "description": "The User information of the User." }, "error": { "type": "object", "properties": { "message": { "type": "string", "nullable": true, "description": "The error message." }, "argument": { "type": "string", "nullable": true, "description": "The syntax argument used to validate the field against (if on syntax validation)." }, "field": { "type": "string", "nullable": true, "description": "The field where the error occurred (if field specific)." }, "code": { "type": "string", "description": "The error code." } } }, "error_document": { "type": "object", "description": "The error document.", "properties": { "errors": { "type": "array", "description": "A collection of errors. The list may be empty.", "items": { "$ref": "#/components/schemas/error" } } } } } } }