PPL

PPL Participation API

Enables the creation, management and processing of Open Market Underwriters and Facility Panel Underwriters that are willing to participate in the underwriting of an insured's asset or liability, represented within the un/structured information in a Contract or Section.

Operations 5

GET /contracts/{contractId}/sections/{sectionId}/participations #
POST /contracts/{contractId}/sections/{sectionId}/participations #
GET /contracts/{contractId}/sections/{sectionId}/participations/{participationId} #
PUT /contracts/{contractId}/sections/{sectionId}/participations/{participationId} #
DELETE /contracts/{contractId}/sections/{sectionId}/participations/{participationId} #

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-participation-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-participation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: placement Participation API
  description: "This API collection provides the capability to manage aspects of the Placement structure. \nThis includes that overall management of Placements, Programmes, Contracts as well as any Sections within a Contract. This also includes the ability to set up carrier/underwriter participants for insurance placement purposes."
  version: '1'
servers:
- url: https://sand-api.londonmarketgroup.co.uk/ppl/nextgen/placements
  description: Joint Integration testing (JIT2) environment
tags:
- name: participation
  description: Enables the creation, management and processing of Open Market Underwriters and Facility Panel Underwriters that are willing to participate in the underwriting of an insured's asset or liability, represented within the un/structured information in a Contract or Section.
paths:
  /contracts/{contractId}/sections/{sectionId}/participations:
    get:
      tags:
      - participation
      description: Returns a list of Participation records, within a single Section. This returned list is based upon various query parameters. Pagination functionality is supported on this operation.
      operationId: Participation_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: contractId
        in: path
        description: A system-generated unique identifier for a Contract, 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: sectionId
        in: path
        description: A system-generated unique identifier for a Section, 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: createdDate
        in: query
        description: 'The date 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: modifiedDate
        in: query
        description: 'The date timestamp when the entity was modified.

          Search 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: companyName
        in: query
        description: 'Name of the Company the User belongs to.

          Search using contains method, e.g. companyName=contains(astring).'
        schema:
          type: string
          pattern: ^contains\(.{1,256}\)$
      - name: underwriterEmail
        in: query
        description: "The email of the Underwriter. \nSearch using multiple exact match method, e.g. underwriterEmail=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: underwriterFirstName
        in: query
        description: 'The first name by which the Underwriter is known for.

          Search using contains method, e.g. underwriterFirstName=contains(astring).'
        schema:
          type: string
          pattern: ^contains\(.{1,30}\)$
      - name: underwriterLastName
        in: query
        description: 'The last name by which the Underwriter is known for.

          Search using contains method, e.g. underwriterLastName=contains(astring).'
        schema:
          type: string
          pattern: ^contains\(.{1,30}\)$
      - name: offPlatformUnderwriter
        in: query
        description: 'Indicates whether the Underwriter User is registered as an off-platform user (true) or not (false).

          Search using single exact match method, e.g. offPlatformUnderwriter=true.'
        schema:
          type: string
          pattern: ^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$
        example: 'true'
      - name: type
        in: query
        description: 'The code that represents the type of Participation.

          Search using multiple exact match method, e.g. type=code1,code2,code3.'
        schema:
          type: string
          pattern: ^(.*)(,.*)*$
      - name: status
        in: query
        description: 'The code that represents the Participation status, based upon the Type of Participation.

          Search using multiple exact match method, e.g. status=code1,code2,code3.'
        schema:
          type: string
          pattern: ^(.*)(,.*)*$
      - name: hasLineConditions
        in: query
        description: 'Parameter used to return Participation records that have at least one Line Conditions (true) or no Line Conditions (false), irrespective of the Status of the Line Condition.

          Search using single exact match method, e.g. hasLineConditions=true.'
        schema:
          type: string
          pattern: ^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$
        example: 'true'
      - name: hasSubjectivities
        in: query
        description: 'Parameter used to return Participation records that have at least one Subjectivity (true) or no Subjectivities (false), irrespective of the Status of the Subjectivity.

          Search using single exact match method, e.g. hasSubjectivities=true.'
        schema:
          type: string
          pattern: ^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$
        example: 'true'
      - name: isDeclaration
        in: query
        description: 'Parameter used to return Participation records that have been attached to this Section from a Master Facility arrangement.

          Search using single exact match method, e.g. isDeclaration=true.'
        schema:
          type: string
          pattern: ^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$
        example: 'true'
      - name: facilityPanelId
        in: query
        description: 'A system-generated unique identifier for a Facility Panel, with a format and structure defined by the technology used.

          Search using multiple exact match method, e.g. facilityPanelId=id1,id2,id3.'
        schema:
          type: string
          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})*$
      - 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_participations_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:
      - participation
      description: Creates Participation records representing either a single Open Market Underwriter and the Carrier Stamps they are permitted to use, or a multiple of Participation records representing each Underwriter from a panel of underwriters attaching from a Master Facility arrangement.
      operationId: Participation_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}$
      - name: contractId
        in: path
        description: A system-generated unique identifier for a Contract, 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: sectionId
        in: path
        description: A system-generated unique identifier for a Section, 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: Participation structure for creation.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/participation_post'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/response_participations_getall_post'
        '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: participation
  /contracts/{contractId}/sections/{sectionId}/participations/{participationId}:
    get:
      tags:
      - participation
      description: Returns a single Participation record. This record will contain the underwriter attributes for underwriting a risk, as well as any facility panel information, where the Underwriter's involvement is made through a Master Facility arrangement.
      operationId: Participation_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: contractId
        in: path
        description: A system-generated unique identifier for a Contract, 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: sectionId
        in: path
        description: A system-generated unique identifier for a Section, 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: participationId
        in: path
        description: A system-generated unique identifier for a Participation, 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/participation_getbyid'
        '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:
      - participation
      description: Updates a Participation record, where the record is in a state that enables its update. Where an Underwriter update involves an update upon a Facility Panel, all involved Participations of said Facility Panel will be updated.
      operationId: Participation_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: contractId
        in: path
        description: A system-generated unique identifier for a Contract, 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: sectionId
        in: path
        description: A system-generated unique identifier for a Section, 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: participationId
        in: path
        description: A system-generated unique identifier for a Participation, 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: Participation structure for updates.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/participation_put'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/participation_getbyid'
        '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: participation
    delete:
      tags:
      - participation
      description: Deletes a Participation record, where the record is in a state that enables its deletion.
      operationId: Participation_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: contractId
        in: path
        description: A system-generated unique identifier for a Contract, 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: sectionId
        in: path
        description: A system-generated unique identifier for a Section, 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: participationId
        in: path
        description: A system-generated unique identifier for a Participation, 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: {}
        '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'
components:
  schemas:
    participation_put:
      type: object
      properties:
        underwriter_email:
          type: string
          description: The email address of the Underwriter.
          default: ''
          pattern: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
        sub_panel:
          $ref: '#/components/schemas/sub_panel_postput'
        proposed:
          $ref: '#/components/schemas/proposed'
        stamps:
          type: array
          description: The Stamp information, identifying information about the underwriting entity, roles and line references to said underwriting.
          items:
            $ref: '#/components/schemas/stamp_postput'
        facility_roles:
          $ref: '#/components/schemas/facility_roles'
        is_excluded_from_panel:
          type: boolean
          description: Identifies whether this Underwriter has been excluded (true) from participating on the Facility Panel for this Contract or Section, or not (false).
          example: false
        facility_panel:
          $ref: '#/components/schemas/facility_panel_put'
      additionalProperties: false
      description: Participation structure for updates
    response_participations_getall_post:
      required:
      - count
      - participations
      type: object
      properties:
        participations:
          type: array
          description: List of participations retrieved
          items:
            $ref: '#/components/schemas/participation_getbyid'
        count:
          type: integer
          description: The number of records on the current page
          format: int32
          example: 0
      additionalProperties: false
      description: ''
    reference_get:
      required:
      - reference
      type: object
      properties:
        reference:
          type: string
          description: The reference allocated by the underwriter against the Stamp.
          default: ''
        description:
          type: string
          description: A description of any processing instructions supplied with the line Reference.
          default: ''
        risk_codes:
          type: array
          description: The regulatory code(s) that are applicable to the Reference.
          items:
            type: string
            default: ''
      additionalProperties: false
      description: The line reference information, which captures the line references in relating to the Contract or Section that is being underwritten. Also maintain the Risk Classification mapping against the line references.
    line_condition_get:
      required:
      - code
      - description
      - line_condition_id
      - status
      type: object
      properties:
        line_condition_id:
          type: string
          description: A system-generated unique identifier for a Line Condition, with a format and structure defined by the technology used.
          default: ''
        description:
          type: string
          description: A description of the line condition.
          default: ''
        status:
          type: string
          description: The code that represents the status of the line condition when this is under negotiation, i.e. differs from that which was originally proposed.
          default: ''
        code:
          type: string
          description: The code that identifies whether a line condition is global line condition that functionally impacts platform behaviour.
          default: ''
      additionalProperties: false
      description: The Line Condition information, identifying the Line Condition itself, the status of its agreement.
    broker_team_org_company:
      required:
      - company_name
      - organisation_name
      - 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: ''
        organisation_name:
          type: string
          description: Name of the Organisation the User belongs to.
          default: ''
        company_name:
          type: string
          description: Name of the Company the User belongs to.
          default: ''
      additionalProperties: false
      description: The team information of the Broker Team responsible for the node.
    subjectivity_get:
      required:
      - confirmation_required
      - description
      - negotiation_status
      - status
      - subjectivity_id
      type: object
      properties:
        subjectivity_id:
          type: string
          description: A system-generated unique identifier for a Subjectivity, with a format and structure defined by the technology used.
          default: ''
        description:
          type: string
          description: A description of the subjectivity and any associated terms.
          default: ''
        confirmation_required:
          type: boolean
          description: Indicates whether a subjectivity requires confirmation (true) or not (false).
          example: false
        confirmation_required_by_date:
          type: string
          description: The date and timestamp by which the Subjectivity needs to be met.
          format: date-time
          example: '2014-12-31T23:59:59.938Z'
        off_cover:
          type: boolean
          description: Indicates whether the Underwriter's participation is off-cover (true) until the Subjectivity is satisfied, or continues to be on cover (false).
          example: false
        status:
          type: string
          description: The code that represents the status of the Subjectivity.
          default: ''
        negotiation_status:
          type: string
          description: The code that represents the status of the Subjectivity when this is under negotiation.
          default: ''
      additionalProperties: false
      description: The Subjectivity information, identifying the Subjectivity itself, the status of cover prior to its agreement/satisfaction and any deadline applied to satisfy.
    written_facility:
      type: object
      properties:
        line_percentage:
          type: number
          description: The specified underwriting value, as a percentage.
          example: 0.1
        currency_code:
          type: string
          description: The 3-character code that represents the currency in ISO 4217 standard.
          default: ''
          pattern: ^[A-Z]{3}$
        amount:
          type: number
          description: The specified underwriting value, as an amount.
          example: 0.1
      additionalProperties: false
      description: The written underwriting line information, that the Underwriter is willing to accept, from the original master facility participation.
    participation_role:
      required:
      - role
      - status
      type: object
      properties:
        role:
          type: string
          description: The code that represents the role or roles that the Underwriter plays through their participation.
          default: ''
        status:
          type: string
          description: The code that represents the status of the role when this is under negotiation, i.e. differs from that which was originally proposed.
          default: ''
      additionalProperties: false
      description: A mapping between Participation and Participation Role Type. This allows multiple roles to be captured against a single participation, for example both Slip Lead and Lloyd's Lead.
    participation_post:
      type: object
      properties:
        underwriter_email:
          type: string
          description: The email address of the Underwriter.
          default: ''
          pattern: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
        sub_panel:
          $ref: '#/components/schemas/sub_panel_postput'
        proposed:
          $ref: '#/components/schemas/proposed'
        stamps:
          type: array
          description: The Stamp information, identifying information about the underwriting entity, roles and line references to said underwriting.
          items:
            $ref: '#/components/schemas/stamp_postput'
        facility_panel:
          $ref: '#/components/schemas/facility_panel_post'
      additionalProperties: false
      description: Participation structure for creates
    master_facility_get:
      required:
      - master_facility_id
      - signed
      - written
      type: object
      properties:
        master_facility_id:
          type: string
          description: The unique identifier for a Master Facility, that this Participation record originates from.
          default: ''
        written:
          $ref: '#/components/schemas/written_facility'
        signed:
          $ref: '#/components/schemas/signed_facility'
      additionalProperties: false
      description: The Master Facility information, holding original master facility information.
    facility_roles:
      required:
      - declaration_firm_order_role
      - declaration_quote_role
      type: object
      properties:
        declaration_quote_role:
          type: string
          description: The code that represents the quote role on the that the Underwriter participates in the Facility Panel, with their Participation.
          default: ''
        declaration_firm_order_role:
          type: string
          description: The code that represents the firm order role on the that the Underwriter participates in the Facility Panel, with their Participation.
          default: ''
      additionalProperties: false
      description: The facility role information that the Declaration Underwriter takes part in through their Participation.

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ppl-london-market/refs/heads/main/openapi/ppl-london-market-participation-api-openapi.yml