PPL

PPL Submissions API

Enables underwriters to retrieve Submission requests supplied by a broker and to manage their negotiation of terms of cover, including reassignment of a negotiation and sending a response back to the broker. This is the quote-side surface of the platform. OpenAPI 3.0.1, 8 paths and 10 operations.

OpenAPI Specification

ppl-london-market-submissions.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "submission",
    "description": "This API collection enables Underwriters to retrieve information about Submission requests that have been supplied by a Broker as well as manage their negotiation of terms of cover.",
    "version": "1"
  },
  "servers": [
    {
      "url": "https://sand-api.londonmarketgroup.co.uk/ppl/nextgen/submissions",
      "description": "Joint Integration testing (JIT2) environment"
    }
  ],
  "tags": [
    {
      "name": "health"
    },
    {
      "name": "version"
    },
    {
      "name": "negotiation",
      "description": "Enables the creation and management of the flow of negotiations from an Underwriter to a Broker. Negotiations shown will be those which (1) have been formally communicated to the Broker; and (2) 'saved' Negotiation records (i.e. that are waiting to be sent to the Broker)."
    },
    {
      "name": "submission",
      "description": "Enables the retrieval of Submissions for Underwriters."
    }
  ],
  "paths": {
    "/health": {
      "get": {
        "tags": [
          "health"
        ],
        "description": "Checks the health of this Submission Resource API.",
        "operationId": "Health",
        "responses": {
          "200": {
            "description": "UP if ok.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/health"
                }
              }
            }
          }
        }
      }
    },
    "/version": {
      "get": {
        "tags": [
          "version"
        ],
        "description": "Checks the version of this Submission Resource API.",
        "operationId": "Version",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/version"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/{submissionId}/negotiations": {
      "get": {
        "tags": [
          "negotiation"
        ],
        "description": "Returns a list of all Negotiation records based upon various query parameters. Pagination functionality is supported on this operation.",
        "operationId": "Negotiation_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 Underwriter 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": "submissionId",
            "in": "path",
            "description": "A system-generated unique identifier for a Submission, 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.\nSearch using range method, e.g. createdDate=range(date1,date2).",
            "schema": {
              "type": "string",
              "pattern": "^range\\(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z\\)$"
            }
          },
          {
            "name": "modifiedDate",
            "in": "query",
            "description": "The date timestamp when the entity was modified.\nSearch using range method, e.g. modifiedDate=range(date1,date2).",
            "schema": {
              "type": "string",
              "pattern": "^range\\(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z\\)$"
            }
          },
          {
            "name": "contractId",
            "in": "query",
            "description": "A system-generated unique identifier for a Contract, with a format and structure defined by the technology used.\nSearch using multiple exact match method, e.g. contractId=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": "participationId",
            "in": "query",
            "description": "A system-generated unique identifier for a Participation, with a format and structure defined by the technology used.\nSearch using multiple exact match method, e.g. participationId=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": "brokerTeamName",
            "in": "query",
            "description": "The name of the Broker Team, as defined by the broker organisation. \nSearch using contains method, e.g. brokerTeamName=contains(astring).",
            "schema": {
              "type": "string",
              "pattern": "^contains\\(.{1,256}\\)$"
            }
          },
          {
            "name": "brokerEmail",
            "in": "query",
            "description": "The User email of the Broker User responsible for the Contract.\nSearch using multiple exact match method, e.g. brokerEmail=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": "brokerFirstName",
            "in": "query",
            "description": "The First Name of the Broker User responsible for the Contract.\nSearch using contains method, e.g. brokerFirstName=contains(astring).",
            "schema": {
              "type": "string",
              "pattern": "^contains\\(.{1,30}\\)$"
            }
          },
          {
            "name": "brokerLastName",
            "in": "query",
            "description": "The Last Name of the Broker User responsible for the Contract.\nSearch using contains method, e.g. brokerLastName=contains(astring).",
            "schema": {
              "type": "string",
              "pattern": "^contains\\(.{1,30}\\)$"
            }
          },
          {
            "name": "underwriterTeamId",
            "in": "query",
            "description": "A system-generated unique identifier for an Underwriter Team, with a format and structure defined by the technology used.\nSearch using multiple exact match method, e.g. underwriterTeamId=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": "underwriterTeamName",
            "in": "query",
            "description": "The name of the Underwriter Team, as defined by the Carrier organisation.\nSearch using contains method, e.g. underwriterTeamName=contains(astring).",
            "schema": {
              "type": "string",
              "pattern": "^contains\\(.{1,256}\\)$"
            }
          },
          {
            "name": "underwriterEmail",
            "in": "query",
            "description": "The User email of the Underwriter User responsible for the Negotiation.\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 of the Underwriter User responsible for the Negotiation.\nSearch using contains method, e.g. underwriterFirstName=contains(astring).",
            "schema": {
              "type": "string",
              "pattern": "^contains\\(.{1,30}\\)$"
            }
          },
          {
            "name": "underwriterLastName",
            "in": "query",
            "description": "The Last Name of the Underwriter User responsible for the Negotiation.\nSearch using contains method, e.g. underwriterLastName=contains(astring).",
            "schema": {
              "type": "string",
              "pattern": "^contains\\(.{1,30}\\)$"
            }
          },
          {
            "name": "sentByEmail",
            "in": "query",
            "description": "The User email of the Broker or Underwriter User that sent this Negotiation.\nSearch using multiple exact match method, e.g. sentByEmail=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": "sentByFirstName",
            "in": "query",
            "description": "The First Name of the Broker or Underwriter User that sent this Negotiation.\nSearch using contains method, e.g. sentByFirstName=contains(astring).",
            "schema": {
              "type": "string",
              "pattern": "^contains\\(.{1,30}\\)$"
            }
          },
          {
            "name": "sentByLastName",
            "in": "query",
            "description": "The Last Name of the Broker or Underwriter User that sent this Negotiation.\nSearch using contains method, e.g. sentByLastName=contains(astring).",
            "schema": {
              "type": "string",
              "pattern": "^contains\\(.{1,30}\\)$"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "The type of the Negotiation.\nSearch using multiple exact match method, e.g. type=code1,code2,code3.",
            "schema": {
              "type": "string",
              "pattern": "^(.*)(,.*)*$"
            }
          },
          {
            "name": "subType",
            "in": "query",
            "description": "The subtype of the Negotiation.\nSearch using multiple exact match method, e.g. subType=code1,code2,code3.",
            "schema": {
              "type": "string",
              "pattern": "^(.*)(,.*)*$"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "The code that represents the Negotiation status, based upon the Type of Negotiation.\nSearch using multiple exact match method, e.g. status=code1,code2,code3.",
            "schema": {
              "type": "string",
              "pattern": "^(.*)(,.*)*$"
            }
          },
          {
            "name": "isLeader",
            "in": "query",
            "description": "Parameter used to return Negotiations records that have a leader role (true) or not (false).\nSearch using single exact match method, e.g. isLeader=true/false.",
            "schema": {
              "type": "string",
              "pattern": "^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$"
            }
          },
          {
            "name": "role",
            "in": "query",
            "description": "The code that represents the role or roles that the Underwriter plays through their participation.\nSearch using multiple exact match method, e.g. role=code1,code2,code3.",
            "schema": {
              "type": "string",
              "pattern": "^(.*)(,.*)*$"
            }
          },
          {
            "name": "hasLineConditions",
            "in": "query",
            "description": "Parameter used to return Negotiation records that have at least one Line Condition (true) or no Line Conditions (false) present in any Stamp within a Participation, irrespective of the Status of the Line Condition.\nSearch using single exact match method, e.g. hasLineConditions=true/false.",
            "schema": {
              "type": "string",
              "pattern": "^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$"
            }
          },
          {
            "name": "hasSubjectivities",
            "in": "query",
            "description": "Parameter used to return Negotiation records that have at least one Subjectivity (true) or no Subjectivities (false) present.\nSearch using single exact match method, e.g. hasSubjectivities=true/false.",
            "schema": {
              "type": "string",
              "pattern": "^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$"
            }
          },
          {
            "name": "showLatest",
            "in": "query",
            "description": "Identifies whether the query results will return only the latest Negotiation record (true) or all Negotiation records (false) for each Participation. Search using single exact match method, e.g. showLatest=true/false.",
            "schema": {
              "type": "string",
              "pattern": "^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting field and order (unique field only).\nUse + before the field name for ascending order, use - for descending order.",
            "schema": {
              "type": "string",
              "pattern": "^[+-]?\\w+$"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page to be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1
            },
            "example": 1
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page to be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 200
            },
            "example": 200
          },
          {
            "name": "negotiationId",
            "in": "query",
            "description": "A system-generated unique identifier for a Negotiation, with a format and structure defined by the technology used.\nSearch using multiple exact match method, e.g. negotiationId=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}){0,9}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/response_submission_negotiations_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": [
          "negotiation"
        ],
        "description": "Creates a single Negotiation record in response to a Broker User's request for consideration. Underwriter Users will be able to reject, confirm or negotiate on various attributes of their involvement, i.e.  acceptance of contractual roles, carrier stamps, line conditions and subjectivities.",
        "operationId": "Negotiation_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 Underwriter 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": "submissionId",
            "in": "path",
            "description": "A system-generated unique identifier for a Submission, 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": "Negotiation structure for creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/submission_negotiation_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/submission_negotiation_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": "negotiation"
      }
    },
    "/submissions/{submissionId}/negotiations/{negotiationId}": {
      "get": {
        "tags": [
          "negotiation"
        ],
        "description": "Returns a single Negotiation record. This record will contain attributes pertaining to the single negotiation position between an Underwriter User and an Broker User, based upon its negotiation status within the insurance placement process.",
        "operationId": "Negotiation_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 Underwriter 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": "submissionId",
            "in": "path",
            "description": "A system-generated unique identifier for a Submission, 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": "negotiationId",
            "in": "path",
            "description": "A system-generated unique identifier for a Negotiation, 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/submission_negotiation_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": [
          "negotiation"
        ],
        "description": "Updates a Negotiation record, where the record is in a state that enables its update. For example, where Negotiations are in a saved and unsent state.",
        "operationId": "Negotiation_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 Underwriter 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": "submissionId",
            "in": "path",
            "description": "A system-generated unique identifier for a Submission, 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": "negotiationId",
            "in": "path",
            "description": "A system-generated unique identifier for a Negotiation, 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": "Negotiation structure for updates.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/submission_negotiation_put"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/submission_negotiation_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": "negotiation"
      }
    },
    "/submissions/{submissionId}/negotiations/{negotiationId}/reaassign": {
      "put": {
        "tags": [
          "negotiation"
        ],
        "description": "Reassigns a Negotiation record to another Underwriter User. The destined Underwriter User does not have to be a member of the same Carrier Team owning the original Submission, but must exist within the same Company hierarchical structure. For the destined Underwriter User, either the entire Submission record is reassigned, or a new Submission record will be created (where there are multiple requests which remain with the original Underwriter User) for underwriting purposes.",
        "operationId": "Negotiation_Reassign_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 Underwriter 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": "submissionId",
            "in": "path",
            "description": "A system

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