PPL

PPL Notification API

The notification API from PPL — 3 operation(s) for notification.

Operations 3

GET /notifications #
GET /notifications/{notificationId} #
POST /notifications/markAllAsRead #

Documentation

📖
Documentation
https://developer.pplnextgen.com/placements
📖
APIReference
https://developer.pplnextgen.com/Placements/Technical-Model
📖
Documentation
https://developer.pplnextgen.com/Placements/Key-Details-On-API
📖
Documentation
https://developer.pplnextgen.com/Placements/Information-Model
📖
Documentation
https://developer.pplnextgen.com/Placements/Business-Process-Model
📖
Documentation
https://developer.pplnextgen.com/submissions
📖
APIReference
https://developer.pplnextgen.com/Submissions/Technical-Model
📖
Documentation
https://developer.pplnextgen.com/Submissions/Key-Details-On-API
📖
Documentation
https://developer.pplnextgen.com/Submissions/Information-Model
📖
Documentation
https://developer.pplnextgen.com/organisations
📖
APIReference
https://developer.pplnextgen.com/Organisations/Technical-Model
📖
Documentation
https://developer.pplnextgen.com/Organisations/Key-Details-On-API
📖
Documentation
https://developer.pplnextgen.com/Organisations/Information-Model
📖
Documentation
https://developer.pplnextgen.com/documents
📖
APIReference
https://developer.pplnextgen.com/Documents/Technical-Model
📖
Documentation
https://developer.pplnextgen.com/Documents/Key-Details-On-API
📖
Documentation
https://developer.pplnextgen.com/Documents/Information-Model
📖
Documentation
https://developer.pplnextgen.com/events
📖
APIReference
https://developer.pplnextgen.com/Events/Technical-Model
📖
Documentation
https://developer.pplnextgen.com/Events/Key-Details-On-API
📖
Documentation
https://developer.pplnextgen.com/Events/Information-Model

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ppl-london-market-notification-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ppl-london-market-notification-api-openapi.yml Raw ↑
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.