Business Gateway Submit an Application to Change the Land Register API

The Business Gateway REST API through which conveyancers and their case management systems lodge applications to change the land register, upload and download supporting documents, add attachments and messages to a lodged application, and poll and acknowledge asynchronous outcome notifications. Two OpenAPI contracts are published and harvested here — v0.3 (OpenAPI 3.0.1, six operations on /v0) and v1.0 (OpenAPI 3.1.0, spec version 1.0.5, ten operations on /v1). A v1.1 directory exists in the developer pack but both openapi.json and openapi.html in it are zero-byte placeholders, so nothing was saved for it. Security is HTTP Basic over mutual TLS with an HMLR-issued client certificate.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-completed.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-accepted-priority-pending.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-accepted-priority-protected.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-cancelled.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-correspondence-despatched.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-validation-failed.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-attachment-success.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-attachment-failed.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-message-success.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-message-failed.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/json-schema/hm-land-registry-application-error.json

Other Resources

OpenAPI Specification

hm-land-registry-submit-application-to-change-the-register-v1.0-openapi.json Raw ↑
{
  "openapi": "3.1.0",
  "info": {
    "description": "V1.0 of the set of APIs for the new 'Submit an application to change the Land Register API' Schema",
    "title": "V1.0 'Submit an application to change the Land Register API' Schema",
    "version": "1.0.5"
  },
  "servers": [
    {
      "url": "https://businessgateway.landregistry.gov.uk/bg2/api",
      "description": "Production"
    },
    {
      "url": "https://bgtest.landregistry.gov.uk/bg2test/api",
      "description": "Stub"
    }
  ],
  "paths": {
    "/v1/applications": {
      "post": {
        "summary": "Submit an application",
        "description": "Submit an application API - Submit application creation requests for processing",
        "operationId": "submit_an_application_to_change_the_register_v1",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubstantiveApplication"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCreationDataResponse"
                }
              }
            },
            "description": "Application creation request accepted",
            "headers": {
              "Location": {
                "description": "Get application creation status URI for checking status",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad Request due to payload not meeting the required schema"
          },
          "401": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorised - an access token is required"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Submit an application API"
        ]
      }
    },
    "/v1/documents/{document_id}": {
      "get": {
        "summary": "Obtain download link for an HMLR document",
        "description": "Request the download link for a document. Currently only supports the download of documents HMLR despatches, i.e correspondence, cancellation and completion documents.",
        "operationId": "download_a_document_v1",
        "parameters": [
          {
            "name": "document_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "May also be referred to as the `download_id` by some services"
          }
        ],
        "responses": {
          "302": {
            "description": "Resource was successfully found.",
            "headers": {
              "location": {
                "description": "URL to the document resource for download",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Download a document API"
        ]
      }
    },
    "Download a document": {
      "servers": [
        {
          "url": "documentcapture.landregistry.gov.uk",
          "description": "An example domain for document downloads"
        }
      ],
      "get": {
        "operationId": "Download a document",
        "description": "Download the document contents. <br/><br/>**Note**: This URL, including hostname and path parameters is returned from the GET `/documents/{document_id}` URL endpoint via the `location` header and **should be used unmodified**.",
        "security": [],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {}
            }
          },
          "404": {
            "description": "Not Found."
          }
        },
        "tags": [
          "Download a document API"
        ]
      }
    },
    "/v1/documents/url": {
      "post": {
        "summary": "Request upload URL for your application attachments",
        "description": "Create an upload URL - Retrieve a generated document upload URL",
        "operationId": "send_a_document_v1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocumentUploadUrlRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Request was successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUploadUrlDataResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorised - an access token is required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Send a document API"
        ]
      }
    },
    "Upload a document": {
      "servers": [
        {
          "url": "documentcapture.landregistry.gov.uk",
          "description": "An example domain for document uploads"
        }
      ],
      "put": {
        "operationId": "Upload a document",
        "description": "Upload a document - Upload the document contents. **Note**: This URL, including hostname and path parameters is returned from the create URL endpoint and **should be used unmodified**. The path and hostname given in the API specification here are examples only.",
        "security": [],
        "parameters": [
          {
            "in": "header",
            "name": "X-Amz-Checksum-Sha256",
            "description": "The base64 encoded SHA-256 hash of the file contents. Must match both the document being uploaded and the value provided to the create URL endpoint.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Content-Length",
            "description": "The length of the file in bytes. Must match both the document being uploaded and the value provided to the create URL endpoint.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden. Ensure the content length and SHA-256 headers have been provided, and match both the file length and sha256 hash, and were the same values supplied to the create URL endpoint"
          }
        },
        "tags": [
          "Send a document API"
        ]
      }
    },
    "/v1/applications/{application_request_id}/information": {
      "get": {
        "summary": "Get application details",
        "description": "Can return status, fees and correspondence documents for an application",
        "operationId": "get_application_information_v1",
        "parameters": [
          {
            "description": "The ID returned by Application Creation to track submission requests",
            "in": "path",
            "name": "application_request_id",
            "example": "12345678-1234-1234-1234-123546789abc",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationInformationDataResponse"
                }
              }
            },
            "description": "Request status received"
          },
          "400": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorised - an access token is required"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Application creation request not found in the system"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Application information API"
        ]
      }
    },
    "/v1/applications/{application_request_id}/attachments": {
      "post": {
        "summary": "Attach a document to an existing application",
        "description": "Attach a document from Send a Document to an existing application",
        "operationId": "attach_a_document_v1",
        "parameters": [
          {
            "description": "The ID returned by Application Creation to track submission requests",
            "in": "path",
            "name": "application_request_id",
            "example": "12345678-1234-1234-1234-123546789abc",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachADocumentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorised - an access token is required"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Application creation request not found in the system"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Attach a document"
        ]
      }
    },
    "/v1/applications/{application_request_id}/messages": {
      "post": {
        "summary": "Attach a message to an existing application",
        "description": "Application information API - Get the information about an application",
        "operationId": "attach_a_message_v1",
        "parameters": [
          {
            "description": "The ID returned by Application Creation to track submission requests",
            "in": "path",
            "name": "application_request_id",
            "example": "12345678-1234-1234-1234-123546789abc",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachAMessageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Unauthorised - an access token is required"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Application creation request not found in the system"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "tags": [
          "Attach a message"
        ]
      }
    },
    "/v1/notifications": {
      "get": {
        "description": "Receive notifications API - Get any unacknowledged notifications",
        "operationId": "get_notifications_v1",
        "parameters": [
          {
            "in": "query",
            "name": "created_before",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "in": "query",
            "name": "created_after",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "NEW",
                "ACKNOWLEDGED"
              ]
            }
          },
          {
            "in": "query",
            "name": "occurred_before",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "in": "query",
            "name": "occurred_after",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "in": "query",
            "name": "notification_type",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 0,
              "pattern": "^[A-Za-z0-9._@-]*$"
            }
          },
          {
            "in": "query",
            "name": "subject",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 64,
              "minLength": 0,
              "pattern": "^[A-Za-z0-9._@-]*$"
            }
          },
          {
            "in": "query",
            "name": "additional_provider_filter",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 50,
              "minLength": 1
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NotificationResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "tags": [
          "Notifications API"
        ]
      }
    },
    "/v1/notifications/acknowledge": {
      "post": {
        "description": "Acknowledge notifications API - Acknowledge notifications that have been processed, so they are no longer returned when fetching",
        "operationId": "acknowledge_notifications_v1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Notifications acknowledged successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/BulkAcknowledgeResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetail"
                }
              }
            }
          }
        },
        "tags": [
          "Notifications API"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AddressReference": {
        "maxLength": 50,
        "minLength": 1,
        "pattern": "^[A-Za-z0-9-?,_]+$",
        "type": "string",
        "description": "Unique identifier for addresses, used to reference addresses from elsewhere in the spec",
        "example": "address_reference_1"
      },
      "PartyReference": {
        "maxLength": 50,
        "minLength": 1,
        "pattern": "^[A-Za-z0-9-?,_]+$",
        "type": "string",
        "description": "Unique identifier for parties, used to reference parties from elsewhere in the spec",
        "example": "customer"
      },
      "DocumentReference": {
        "maxLength": 50,
        "minLength": 1,
        "pattern": "^[A-Za-z0-9-?,_]+$",
        "type": "string",
        "description": "Unique identifier for documents, used to reference documents from elsewhere in the spec",
        "example": "signed_charge"
      },
      "AddressDetails": {
        "type": "object",
        "description": "The details captured for a specific address. Details differ depending on type",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "UK",
              "OVERSEAS",
              "EMAIL",
              "DX",
              "BFPO",
              "PO_BOX"
            ]
          }
        },
        "discriminator": {
          "propertyName": "type"
        }
      },
      "AddressForServiceOption": {
        "type": "string",
        "description": "* `PROVIDED_ADDRESS` - The address for service has been provided alongside this option\n* `NOT_REQUIRED` - The address for service is not required for the party",
        "enum": [
          "PROVIDED_ADDRESS",
          "NOT_REQUIRED"
        ]
      },
      "AmountDetails": {
        "type": "object",
        "description": "A type of TransactionDetails that captures the value of the transaction",
        "allOf": [
          {
            "$ref": "#/components/schemas/TransactionDetails"
          },
          {
            "type": "object",
            "properties": {
              "value": {
                "minimum": 0,
                "description": "The value associated with the transaction in pounds",
                "type": "integer",
                "format": "int32"
              },
              "value_band": {
                "$ref": "#/components/schemas/ValueBand"
              },
              "full_value_of_property_band": {
                "$ref": "#/components/schemas/ValueBand"
              },
              "full_value_of_property": {
                "type": "integer",
                "format": "int32",
                "description": "Full value of the property in the title(s) in pounds"
              },
              "outstanding_charge": {
                "type": "integer",
                "format": "int32",
                "description": "Value in pounds of any outstanding charge if applicable"
              }
            }
          }
        ]
      },
      "Charge": {
        "required": [
          "date",
          "value"
        ],
        "type": "object",
        "description": "A TransactionDetails object to capture information about a charge",
        "allOf": [
          {
            "$ref": "#/components/schemas/TransactionDetails"
          },
          {
            "type": "object",
            "properties": {
              "date": {
                "description": "The date of the charge, in the format yyyy-MM-dd",
                "type": "string",
                "format": "date"
              },
              "mdref": {
                "maxLength": 10,
                "minLength": 0,
                "description": "The unique MD reference given to the mortgage",
                "type": "string",
                "example": "MD123A"
              },
              "value": {
                "type": "integer",
                "description": "The total charge amount for all titles in pounds",
                "format": "int32"
              }
            }
          }
        ]
      },
      "ValidationDisagreement": {
        "description": "Fields to describe which validation results are contested and why",
        "properties": {
          "comment": {
            "type": "string",
            "description": "A free text description of the disagreement",
            "maxLength": 250,
            "minLength": 1
          },
          "reason": {
            "type": "string",
            "description": "The reason for disagreeing with the validation result",
            "enum": [
              "DISAGREE_WITH_REGISTER",
              "HMLR_DATA_INCORRECT_OR_OUTDATED",
              "EXCEPTION_NOT_COVERED_BY_BUSINESS_RULES"
            ]
          },
          "validation_pointer": {
            "type": "string",
            "description": "A JSON pointer to the contested field in the submission payload. Should match the 'pointer' returned within a status API error",
            "maxLength": 250,
            "minLength": 1
          },
          "validation_type": {
            "type": "string",
            "description": "The type of validation being contested. Should match the 'type' returned within a status API error",
            "maxLength": 250,
            "minLength": 1
          }
        },
        "required": [
          "comment",
          "reason",
          "validation_pointer",
          "validation_type"
        ]
      },
      "CorrespondenceDocumentType": {
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "CorrespondenceRecordDocumentItemWithDownloadId": {
        "description": "List of documents in the correspondence record",
        "properties": {
          "created_at": {
            "type": "string"
          },
          "download_id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/CorrespondenceDocumentType"
          }
        },
        "required": [
          "type"
        ]
      },
      "CorrespondenceRecordInApplicationInformation": {
        "description": "Representation of a correspondence record",
        "properties": {
          "documents": {
            "type": "array",
            "description": "List of documents in the correspondence record",
            "items": {
              "$ref": "#/components/schemas/CorrespondenceRecordDocumentItemWithDownloadId"
            }
          },
          "record_id": {
            "type": "string",
            "description": "ID of the correspondence record",
            "example": "1234567"
          }
        },
        "required": [
          "documents",
          "record_id"
        ]
      },
      "Discharge": {
        "required": [
          "discharge_submission_type"
        ],
        "type": "object",
        "description": "A TransactionDetails object to capture information about a discharge",
        "allOf": [
          {
            "$ref": "#/components/schemas/TransactionDetails"
          },
          {
            "type": "object",
            "properties": {
              "discharge_submission_type": {
                "type": "string",
                "description": "How the discharge will be submitted:\n* ATTACHED - The discharge is submitted with this application\n* LENDER - The lender will submit the discharge\n* LATER - The discharge will be submitted later",
                "enum": [
                  "ATTACHED",
                  "LENDER",
                  "LATER"
                ]
              }
            }
          }
        ]
      },
      "DocumentMetadata": {
        "required": [
          "certification_statement_type",
          "document_filename"
        ],
        "type": "object",
        "description": "Metadata about the document that was uploaded",
        "properties": {
          "certification_statement_type": {
            "type": "string",
            "description": "* `CERTIFIED` - I/we certify this is a true copy of an original document\n* `CERTIFIED_BY_ANOTHER` - I/we certify this document is a true copy of an original document which i

# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hm-land-registry/refs/heads/main/openapi/hm-land-registry-submit-application-to-change-the-register-v1.0-openapi.json