openapi: 3.2.0 info: version: 0.1.0 title: Whitespace Platform Comments API description:
Last update 29th May 2025

Our intention is to cover the API calls most of use to those wanting to integrate external systems to the Whitespace Platform. We will give some descriptions about usage, but put full detail in standalone documents at https://apidocs.whitespace.co.uk/. We intend to have the published endpoints and schemas documented to the level that the code generated can be used safely and without modification to call our APIs safely.

Calls exclusive to brokers or underwriters have a comment of Broker Only and Underwriter Only respectively. All other calls work for both, but functionality might depend on the stage the risk is at, or other contextual factors.
Where certain properties refer to RootID or similar, they are actually referring to the ID of the entire slip, encompassing all stages and instances of the contract. This is a unique 38-character reference starting with the letters IC. If they mention riskID or docID or placingID, these are refering to the ID of a specific document or contract instance within the slip. This is always the RootID of the base slip followed by a double colon, ::, and further characters.
Once your Integration is ready to go live, the URL for production is https://www.whitespaceplatform.com
servers: - description: Sandbox Environment url: https://sandbox.whitespace.co.uk/ - description: Tess Environment url: https://tess.whitespace.co.uk/ - description: Beta Environment url: https://beta.whitespace.co.uk/ - description: Staging Environment url: https://staging.whitespace.co.uk/ security: - bearerAuth: [] tags: - name: Comments paths: /api/comments: get: summary: Gets all comments. Deprecated in favour of /risks/$rootID/related/RWComment description:
This endpoint returns all comments a user can see.

This will become impractical as volumes grow over time, so the endpoint is deprecated.

We recommend loading the comments on an individual risk by using the 'related' endpoint with 'RWComment' as the document type /risks/$rootID/related/RWComment
tags: - Comments responses: '200': description: array of RWComment documents content: application/json: schema: type: array items: $ref: '#/components/schemas/RWComment' post: summary: Add a comment to a discussion between teams on a risk description:
A discussion can be started by either Broker or Underwriter by creating a new comment. The discussion is between the broker and carrier teams on the risk, with the individual making the comment identified.
tags: - Comments requestBody: content: application/json: schema: type: object properties: text: type: string description: the text of the message example: Is there a recent survey? riskID: type: string description: 'The root ID of the risk, stopping before the :: delimiter' example: ICDF6A4332-589F-4962-9491-22BEBB8CB615 recipient: type: string description: the team channel for the recipient example: blackswan_MOTOR senderChannel: type: string description: the channel of the sender example: akhil_ALL description: PostCommentInput object. Optional item(s) responses: '200': description: A confirmation of the saved data content: application/json: schema: type: object properties: id: type: string description: the document id of the comment saved example: IC7B4C4ECF-5340-4A88-B5BE-A4ECE8859B61::CHAT::50E4EB6C-147B-4337-8FB7-B4051D42410F rev: type: string description: the revision of the saved document example: 1-6a99b794f62c7237242e8cec6701b7bc ok: type: boolean description: true if the comment was saved example: true /api/comments/global: get: summary: An array of 'global' comments sent by Whitespace to all platform users description:
Whitespace can communicate with platform users through comments sent to everyone which are dismissed when read. This endpoint fetches those global comments.
tags: - Comments responses: '200': description: array of comment documents content: application/json: schema: type: array items: $ref: '#/components/schemas/RWComment' components: schemas: RWComment: type: object description: A document that represents one comment in a chat properties: _id: type: string description: unique document id for the comment example: IC2C2C364A-F483-48F3-A927-05BC703CFCE3::CHAT::901F20D1-6BC8-46C6-BAA4-92B64507D7A2 apnsData: type: object description: data for notifications to be sent alerting users about the activity. NOTE - this is for internal Whitespace usage and so the data can be subject to change. Please do use this object for integration purposes properties: channels: type: array description: A list of the channels for users to receive the notification items: type: string description: the team channel example: carrier_MARINECASUALTY data: type: object properties: docId: type: string description: the risk root ID associated with the activity example: IC6A318B90-C319-4D2A-9088-98AD1B313556 dataForEmail: type: object properties: riskInformation: type: array items: type: string description: an array of text strings to be displayed in the notification message example: Acme Widgets Inc USD 25,000,000 B0999JC2311220803 userID: type: string description: the ID of the user whose action triggered the activity example: MUB70853CF-3221-4FD4-8A30-12B05EAD2EA5 subscriptionRootID: type: string description: the risk root ID associated with the activity example: IC6A318B90-C319-4D2A-9088-98AD1B313556 subtitle: type: string description: text subtitle for the message example: 'Messina Insurance Co Aviation Hull and Liability Insurance' title: type: string description: text title for the message example: Declined Quote Request _rev: type: string example: 1-141df67df9e5eaacd0830c65e47a0bf9 createdAt: type: string example: '2021-08-04 15:18:02' updatedAt: type: string example: '2021-08-04 15:18:02' type: type: string example: RWComment description: RWComment in all cases associatedRootID: type: string example: IC2C2C364A-F483-48F3-A927-05BC703CFCE3 description: The root ID for the risk which the chat relates to channels: type: array description: The team channels of users allowed to see the document items: type: string example: blackpool_TERRORISM comment: type: string description: The text of the comment example: Is this within your risk criteria? brokerMessageDocID: example: IC09F74B05-AC0C-4FCA-A0C0-1FD94D4BEA2A::FO::BrokerMessage::tomyunderwriting_ALL type: string description: The ID of the broker message, if the comment was a broker message brokerMessageStage: type: string example: FirmOrder description: The stage of the risk when the broker message was shown user: type: string description: The ID of the user who sent the message example: MU9FCFC64E-7694-420A-BE61-2ABEDB3E8F52 createdAtMilliseconds: type: integer example: 1709213501333 description: The value of createdAt in miliseconds isInternal: type: boolean example: false description: True if the message is internal securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT