---
title: "Update Title Reconciliation"
url: "https://developer.pexa.co.uk/apis/workspace-v1-v1/versions/f42817f3-815f-4a74-8ba5-2f83efd8ab42/operations/patchTitleReconciliation"
---

> Full API specification: https://developer.pexa.co.uk/apis/workspace-v1-v1/versions/f42817f3-815f-4a74-8ba5-2f83efd8ab42.md

# Update Title Reconciliation

`PATCH` `/partner/api/platformconnect/v1/workspaces/{workspace_id}/title-reconciliation`

Operation ID: `patchTitleReconciliation`

This API allows updating party and proprietor information to resolve mismatches.

## Path parameters

- `workspace_id` (string, uuid, required) - Workspace id

## Header parameters

- `X-Request-Correlation-Id` (string, optional)

## Request body (required)

Content types: `application/json`

## Responses

- `200` - OK
- `400` - BAD REQUEST
- `401` - UNAUTHORIZED
- `403` - FORBIDDEN
- `404` - NOT FOUND
- `422` - UNPROCESSABLE ENTITY
- `500` - INTERNAL SERVER ERROR
- `503` - SERVICE UNAVAILABLE

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Workspace
  version: v1
servers:
  - url: https://api.pexa.co.uk
    description: API Gateway URL
paths:
  /partner/api/platformconnect/v1/workspaces/{workspace_id}/title-reconciliation:
    patch:
      tags:
        - TitleReconciliationV1
      summary: Update Title Reconciliation
      description: >
        This API allows updating party and proprietor information to resolve
        mismatches.
      security:
        - oauth2:
            - x-api:edit:title_reconciliation
            - edit:workspace_parties
            - edit:lodgement_proprietors
      operationId: patchTitleReconciliation
      parameters:
        - in: header
          name: X-Request-Correlation-Id
          schema:
            type: string
            description: The unique identifier for the request
        - name: workspace_id
          in: path
          description: Workspace id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - action
              discriminator:
                propertyName: action
                mapping:
                  UPDATE_PARTY_NAME: "#/components/schemas/UpdatePartyNameRequest"
                  SET_AS_INCOMING_PROPRIETOR: "#/components/schemas/SetAsIncomingProprietorRequest"
                  SET_AS_OUTGOING_PROPRIETOR: "#/components/schemas/SetAsOutgoingProprietorRequest"
                  UPDATE_PROPRIETOR_NAME: "#/components/schemas/UpdateProprietorNameRequest"
                  UPDATE_OUTGOING_PROPRIETOR_NAME: "#/components/schemas/UpdateOutgoingProprietorNameRequest"
              properties:
                action:
                  type: string
                  description: |
                    The type of title reconciliation action to perform.
                    Allowed values: [`UPDATE_PARTY_NAME`, `SET_AS_INCOMING_PROPRIETOR`, `SET_AS_OUTGOING_PROPRIETOR`, `UPDATE_PROPRIETOR_NAME`, `UPDATE_OUTGOING_PROPRIETOR_NAME`]

                    <details>
                    <summary><code>UPDATE_PARTY_NAME</code></summary>

                    **Required attributes**
                    - `partyId`
                    - `type` (`INDIVIDUAL` or `ORGANISATION`)
                    - `partyDetails`

                    **partyDetails by type**
                    - `INDIVIDUAL`: `forenames`, `surname`
                    - `ORGANISATION`: `organisationName`, `registrationNumber` (optional)

                    Use schema: [`UpdatePartyNameRequest`](../schemas/UpdatePartyNameRequest)
                    </details>

                    <details>
                    <summary><code>SET_AS_INCOMING_PROPRIETOR</code></summary>

                    **Required attributes**
                    - `partyId`

                    Use schema: [`SetAsIncomingProprietorRequest`](../schemas/SetAsIncomingProprietorRequest)
                    </details>

                    <details>
                    <summary><code>SET_AS_OUTGOING_PROPRIETOR</code></summary>

                    **Required attributes**
                    - `proprietorId`

                    Use schema: [`SetAsOutgoingProprietorRequest`](../schemas/SetAsOutgoingProprietorRequest)
                    </details>

                    <details>
                    <summary><code>UPDATE_PROPRIETOR_NAME</code></summary>

                    **Required attributes**
                    - `proprietorId`
                    - `type` (`INDIVIDUAL` or `ORGANISATION`)
                    - `proprietorDetails`

                    **proprietorDetails by type**
                    - `INDIVIDUAL`: `forenames`, `surname`
                    - `ORGANISATION`: `organisationName`, `registrationNumber` (optional)

                    Use schema: [`UpdateProprietorNameRequest`](../schemas/UpdateProprietorNameRequest)
                    </details>

                    <details>
                    <summary><code>UPDATE_OUTGOING_PROPRIETOR_NAME</code></summary>

                    **Required attributes**
                    - `proprietorId`
                    - `type` (`INDIVIDUAL` or `ORGANISATION`)
                    - `proprietorDetails`

                    **proprietorDetails by type**
                    - `INDIVIDUAL`: `forenames`, `surname`
                    - `ORGANISATION`: `organisationName`, `registrationNumber` (optional)

                    Use schema: [`UpdateOutgoingProprietorNameRequest`](../schemas/UpdateOutgoingProprietorNameRequest)
                    </details>
            examples:
              UpdatePartyNameRequest:
                summary: Update party name to match proprietor (INDIVIDUAL)
                value:
                  action: UPDATE_PARTY_NAME
                  partyId: 123e4567-e89b-12d3-a456-426614174000
                  type: INDIVIDUAL
                  partyDetails:
                    forenames: John
                    surname: Doe
              UpdatePartyNameOrganisationRequest:
                summary: Update party name to match proprietor (ORGANISATION)
                value:
                  action: UPDATE_PARTY_NAME
                  partyId: 123e4567-e89b-12d3-a456-426614174000
                  type: ORGANISATION
                  partyDetails:
                    organisationName: Pexa Ltd
              SetAsIncomingProprietorRequest:
                summary: Mark party as incoming proprietor
                description: Request to mark a party as incoming proprietor. Only partyId is
                  required - PCS fetches party details from the workspace.
                value:
                  action: SET_AS_INCOMING_PROPRIETOR
                  partyId: 123e4567-e89b-12d3-a456-426614174000
              SetAsOutgoingProprietorRequest:
                summary: Mark proprietor as outgoing
                value:
                  action: SET_AS_OUTGOING_PROPRIETOR
                  proprietorId: 987e6543-e21b-98c7-b654-321098765432
              UpdateProprietorNameRequest:
                summary: Update proprietor name to match party (INDIVIDUAL)
                value:
                  action: UPDATE_PROPRIETOR_NAME
                  proprietorId: 987e6543-e21b-98c7-b654-321098765432
                  type: INDIVIDUAL
                  proprietorDetails:
                    forenames: James Thomas
                    surname: Smith
              UpdateProprietorNameOrganisationRequest:
                summary: Update proprietor name to match party (ORGANISATION)
                value:
                  action: UPDATE_PROPRIETOR_NAME
                  proprietorId: 987e6543-e21b-98c7-b654-321098765432
                  type: ORGANISATION
                  proprietorDetails:
                    organisationName: Pexa Ltd
                    registrationNumber: "12345678"
              UpdateOutgoingProprietorNameRequest:
                summary: Update outgoing role proprietor name
                description: >
                  Request to update an outgoing proprietor's name. PCS will call
                  getProprietors to find

                  the linked workspace party (via sourcePartyId), then update
                  the workspace party name.
                value:
                  action: UPDATE_OUTGOING_PROPRIETOR_NAME
                  proprietorId: 987e6543-e21b-98c7-b654-321098765432
                  type: INDIVIDUAL
                  proprietorDetails:
                    forenames: FN
                    surname: LN
      responses:
        "200":
          description: OK
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                required:
                  - action
                discriminator:
                  propertyName: action
                  mapping:
                    UPDATE_PARTY_NAME: "#/components/schemas/UpdatePartyNameResponse"
                    SET_AS_INCOMING_PROPRIETOR: "#/components/schemas/SetAsIncomingProprietorResponse"
                    SET_AS_OUTGOING_PROPRIETOR: "#/components/schemas/SetAsOutgoingProprietorResponse"
                    UPDATE_PROPRIETOR_NAME: "#/components/schemas/UpdateProprietorNameResponse"
                    UPDATE_OUTGOING_PROPRIETOR_NAME: "#/components/schemas/UpdateOutgoingProprietorNameResponse"
                description: Response for title reconciliation actions
                properties:
                  action:
                    type: string
                    description: The action that was performed
              examples:
                UpdatePartyNameIndividualResponse:
                  summary: Update Individual Party Name Response
                  description: Response showing party with updated name details
                  value:
                    action: UPDATE_PARTY_NAME
                    partyId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    type: INDIVIDUAL
                    partyDetails:
                      forenames: James Thomas
                      surname: Smith
                UpdatePartyNameOrganisationResponse:
                  summary: Update Organisation Party Name Response
                  description: Response showing party with updated organisation details
                  value:
                    action: UPDATE_PARTY_NAME
                    partyId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    type: ORGANISATION
                    partyDetails:
                      organisationName: Pexa Ltd
                      registrationNumber: "12345678"
                SetAsIncomingProprietorResponse:
                  summary: Set As Incoming Proprietor Response
                  description: Response showing party marked as incoming proprietor with new
                    proprietor ID created in lodgement case
                  value:
                    action: SET_AS_INCOMING_PROPRIETOR
                    partyId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    proprietorId: 7c8d9e0f-1234-5678-90ab-cdef12345678
                    titleStatus: INCOMING
                SetAsOutgoingProprietorResponse:
                  summary: Set As Outgoing Proprietor Response
                  description: Response showing proprietor marked with OUTGOING title status.
                    Includes proprietor details from Lodgement domain.
                  value:
                    action: SET_AS_OUTGOING_PROPRIETOR
                    proprietorId: ab5ca64f-c5a5-4bda-a440-13a2c1316663
                    titleStatus: OUTGOING
                    individualDetails:
                      forenames: James Thomas
                      surname: Smith
                UpdateProprietorNameIndividualResponse:
                  summary: Update Individual Proprietor Name Response
                  description: Response showing proprietor name updated via Lodgement domain
                  value:
                    action: UPDATE_PROPRIETOR_NAME
                    proprietorId: 987e6543-e21b-98c7-b654-321098765432
                    type: INDIVIDUAL
                    proprietorDetails:
                      forenames: James Thomas
                      surname: Smith
                UpdateProprietorNameOrganisationResponse:
                  summary: Update Organisation Proprietor Name Response
                  description: Response showing organisation proprietor details updated via
                    Lodgement domain
                  value:
                    action: UPDATE_PROPRIETOR_NAME
                    proprietorId: 987e6543-e21b-98c7-b654-321098765432
                    type: ORGANISATION
                    proprietorDetails:
                      organisationName: Pexa Ltd
                      registrationNumber: "12345678"
        "400":
          description: BAD REQUEST
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - field: action
                    message: Invalid action type
        "401":
          description: UNAUTHORIZED
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Unauthorized
        "403":
          description: FORBIDDEN
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Not a participant of the workspace
        "404":
          description: NOT FOUND
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - field: workspace_id
                    message: "Resource not found for: workspaceId"
        "422":
          description: UNPROCESSABLE ENTITY
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Party already matched with proprietor
        "500":
          description: INTERNAL SERVER ERROR
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Internal Server Error
        "503":
          description: SERVICE UNAVAILABLE
          headers:
            X-API-Version:
              schema:
                type: string
                description: The API version that was used to process the request.
            X-Request-Correlation-Id:
              schema:
                type: string
                description: The unique identifier for the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: Field
                        message:
                          type: string
                          description: Error message
              example:
                errors:
                  - message: Service under maintenance
security:
  - oauth2:
      - x-api:edit:title_reconciliation
      - edit:workspace_parties
      - edit:lodgement_proprietors
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://login.pexauk.co.uk/oauth/token
          scopes:
            x-api:create:purchase_workspaces: Permission to create purchase workspace
            x-api:create:remortgage_workspaces: Permission to create remortgage workspace
            x-api:cancel:workspaces: Permission to cancel the workspace
            add:law_firm_reference: add law firm reference
            add:legal_representation_details: add legal representation details
            view:workspaces: view workspace
            create:title_change_request: create title change request
            edit:workspace_parties: edit workspace parties
            x-api:add:legal_representation_details: Permission to add party representation
            x-api:edit:external_law_firm_details: Permission to update external law firm representation
            create:workspaces: Permission to create workspaces
            edit:workspaces: Permission to edit workspaces
            edit:lodgement_proprietors: Permission to edit proprietors linked to lodgement case
            view:lodgement_proprietors: Permission to view proprietors linked to lodgement case
            add:workspace_participants: Permission to add workspace participants
            edit:external_law_firm_details: Permission to edit external law firm details
            edit:law_firm_reference: Permission to edit law firm reference
```
