openapi: 3.2.0 info: title: event Notification API description: 'This API collection provides the capability to retrieve informative and actionable information on an interested party's involvement within the differing activities of the insurance placement process. This also includes the business transactional log information for any Contract-related engagement between a Broker and an Underwriter that is transacted within the platform. Provides technical information relating to asynchronous processes and business notifications from the platform that are either informational or require some form of action to be taken by the recipient.' version: '1' servers: - url: https://sand-api.londonmarketgroup.co.uk/ppl/nextgen/events description: Joint Integration testing (JIT2) environment tags: - name: notification paths: /notifications: get: tags: - notification description: Returns a list of all Notification records, based upon various query parameters. Pagination functionality is supported on this operation. operationId: Notification_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: createdDate in: query description: 'The date and timestamp when the entity was created. Search 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: category in: query description: 'The code that represents the category of the notification. Search using multiple exact match method, e.g. category=code1,code2,code3.' schema: type: string pattern: ^(.*)(,.*)*$ - name: type in: query description: 'The code that represents the type of notification. Search using multiple exact match method, e.g. type=code1,code2,code3.' schema: type: string pattern: ^(.*)(,.*)*$ - name: senderEmail in: query description: 'The email address of the Sender. Search using multiple exact match method, e.g. senderEmail=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: senderFirstName in: query description: 'The first name of the Sender. Search using contains method, e.g. senderFirstName=contains(astring).' schema: type: string pattern: ^contains\(.{1,40}\)$ - name: senderLastName in: query description: 'The last name of the Sender. Search using contains method, e.g. senderLastName=contains(astring).' schema: type: string pattern: ^contains\(.{1,40}\)$ - name: companyName in: query description: 'Name of the company the Sender belongs to. Search using contains method, e.g. companyName=contains(astring).' schema: type: string pattern: ^contains\(.{1,256}\)$ - name: recipientEmail in: query description: 'The email address of the Recipient. Search using multiple exact match method, e.g. recipientEmail=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: recipientFirstName in: query description: 'The first name of the Recipient. Search using contains method, e.g. recipientFirstName=contains(astring).' schema: type: string pattern: ^contains\(.{1,40}\)$ - name: recipientLastName in: query description: 'The last name of the Recipient. Search using contains method, e.g. recipientLastName=contains(astring).' schema: type: string pattern: ^contains\(.{1,40}\)$ - name: recipientTeamId in: query description: "The Team ID of the team the Recipient belongs to. A system-generated unique identifier for a Team, with a format and structure defined by the technology used. \nSearch using multiple exact match method, e.g. recipientTeamId=team1,team2,team3." schema: type: string pattern: ^(.*)(,.*)*$ - name: recipientTeamName in: query description: 'The name of the Team the Recipient belongs to. Search using contains method, e.g. recipientTeamName=contains(astring).' schema: type: string pattern: ^contains\(.{1,256}\)$ - name: isTechnical in: query description: 'Indicates whether the Notification is related to a technical event (true) or a business event (false). Search using single exact match method, e.g. isTechnical=true/false.' schema: type: string pattern: ^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$ - name: processStatus in: query description: 'The code that represents the status of a technical, asynchronous event. Search using multiple exact match method, e.g. processStatus=code1,code2,code3.' schema: type: string pattern: ^(.*)(,.*)*$ - name: expiryDate in: query description: 'The date and timestamp by which the Subjectivity needs to be met or the deadline date for the Report. Search using range method, e.g. expiryDate=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: clientName in: query description: 'The name by which the Broker User knows the client for the purposes of seeking insurance. Search using contains method, e.g. clientName=contains(astring).' schema: type: string pattern: ^contains\(.{1,256}\)$ - name: sort in: query description: 'Sorting field and order (unique field only). Use + 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: '' content: application/json: schema: $ref: '#/components/schemas/response_notifications' '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' /notifications/{notificationId}: get: tags: - notification description: Returns a single Notification record. This record will contain attributes pertaining to the type of notification and any type of action that is required. The context information is the subject of the notification. operationId: Notification_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: notificationId in: path description: A system-generated unique identifier for a Notification, 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: '' content: application/json: schema: $ref: '#/components/schemas/response_notification_record' '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' /notifications/markAllAsRead: post: tags: - notification description: Initiates the operation to update all non-technical Notification records as read from a defined date. operationId: Notification_MarkAllAsRead_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: Payload for the Mark All As Read endpoint. content: application/json: schema: $ref: '#/components/schemas/notification_markallasread' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/response_markallasread' '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: notifications components: schemas: 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. 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. response_notification_record: required: - category - context - is_facility - is_technical - metadata - notification_id - recipient - sender - 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: '' metadata: $ref: '#/components/schemas/metadata' category: type: string description: The code that represents the category of the notification. default: '' type: type: string description: The code that represents the type of notification. default: '' sender: $ref: '#/components/schemas/sender_notifications' recipient: $ref: '#/components/schemas/recipient_notifications' is_read: type: boolean description: Indicates whether the Notification has been read by the Recipient (true) or not (false). example: false context: $ref: '#/components/schemas/context_notification' message: type: string description: The pre-defined message in relation to the Notification record. default: '' is_facility: type: boolean description: Indicates whether the Notification is in relation to a Master Facility (true) or not (false). example: false is_technical: type: boolean description: Indicates whether the Notification is related to a technical event (true) or a business event (false). example: false process_status: type: string description: The code that represents the status of a technical, asynchronous event. default: '' name: type: string description: A description of the Subjectivity and any associated terms or the Report Name. default: '' expiry_date: type: string description: The date and timestamp by which the Subjectivity needs to be met or the deadline date for the Report. format: date-time example: '2014-12-31T23:59:59.938Z' references: $ref: '#/components/schemas/references' additionalProperties: false description: The Notification Information record. 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' error: type: object properties: message: type: - string - 'null' description: The error message. argument: type: - string - 'null' description: The syntax argument used to validate the field against (if on syntax validation). field: type: - string - 'null' description: The field where the error occurred (if field specific). code: type: string description: The error code. references: required: - client_name - description 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: '' programme_id: type: string description: A system-generated unique identifier for a Programme, with a format and structure defined by the technology used. default: '' contract_id: type: string description: A system-generated unique identifier for a Contract, with a format and structure defined by the technology used. default: '' section_id: type: string description: A system-generated unique identifier for a Section, with a format and structure defined by the technology used. default: '' participation_id: type: string description: A system-generated unique identifier for a Participation, with a format and structure defined by the technology used. default: '' submission_id: type: string description: A system-generated unique identifier for a Submission, with a format and structure defined by the technology used. default: '' description: type: string description: The description of the placement, programme, contract or section associated with the notification. This works for both firm orders and endorsements. default: '' client_name: type: string description: The name by which the Broker User knows the client for the purposes of seeking insurance. default: '' additionalProperties: false description: Notification references structure. context_notification: required: - context_id - context_type type: object properties: context_type: type: string description: The code that represents where within the hierarchical structure of the platform the subject of this record belongs. default: '' context_id: type: string description: The unique identifier of the subject to which the Context Type relates to. default: '' additionalProperties: false description: Contextual information about where the subject of this Notification is within the platform. response_notifications: type: object properties: notifications: type: array description: List of notifications retrieved items: $ref: '#/components/schemas/response_notification_record' page_number: type: integer description: Number of the page retrieved format: int32 example: 0 page_size: type: integer description: Size 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 additionalProperties: false description: '' response_markallasread: required: - from_date - items_marked_as_read_count type: object properties: from_date: type: string description: The date and timestamp from which any Notification records with a Created Date on or after this date, will be marked as read. format: date-time example: '2014-12-31T23:59:59.938Z' items_marked_as_read_count: type: integer description: The number of Notification records that have been marked as read as part of the synchronous operation. format: int32 example: 0 additionalProperties: false description: Response for notifications mark all as read endpoint. sender_notifications: required: - company_name - first_name - last_name - organisation_name - sender_email type: object properties: sender_email: type: string description: The email address of the Sender. default: '' first_name: type: string description: The first name of the Sender. default: '' last_name: type: string description: The last name of the Sender. default: '' organisation_name: type: string description: Name of the organisation the Sender belongs to. default: '' company_name: type: string description: Name of the company the Sender belongs to. default: '' additionalProperties: false description: The Sender information of the individual responsible for the Notification record. recipient_notifications: required: - branch_name - company_name - first_name - last_name - organisation_name - recipient_email - team_id - team_name type: object properties: recipient_email: type: string description: The email address of the Recipient. default: '' first_name: type: string description: The first name of the Recipient. default: '' last_name: type: string description: The last name of the Recipient. default: '' team_id: type: string description: 'The Team ID of the team the Recipient belongs to. A system-generated unique identifier for a Team, with a format and structure defined by the technology used. ' default: '' team_name: type: string description: The name of the Team the Recipient belongs to. default: '' organisation_name: type: string description: Name of the Organisation. default: '' company_name: type: string description: The name of the Company, which is also referred to as the trading entity of the Organisation. default: '' branch_name: type: string description: Name of the branch the user belongs to. default: '' additionalProperties: false description: The Recipient information of the individual the Notification record is intended for. notification_markallasread: required: - from_date type: object properties: from_date: type: string description: The date and timestamp from which any Notification records with a Created Date on or after this date, will be marked as read. format: date-time example: '2014-12-31T23:59:59.938Z' additionalProperties: false description: Payload for notifications mark all as read endpoint.