Landmark Information Group Document Vaults API

Create a vault and manage its details and recipients.

Operations 7

POST / Create Document Vault #
GET /{documentVaultId} Get Document Vault #
PUT /{documentVaultId}/reference Update Reference #
PATCH /{documentVaultId}/property Update Property #
PATCH /{documentVaultId}/recipient-organisation Update Recipient Organisation #
POST /{documentVaultId}/recipient-organisation/recipients Add Recipient #
DELETE /{documentVaultId}/recipient-organisation/recipients/{recipientId} Delete Recipient #

Documentation

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/landmark-information-document-vaults-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

landmark-information-document-vaults-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.1
  title: Document Vaults API
  description: The Document Vault API lets you create a secure, shareable container of documents — a **Document Vault** — and manage its contents programmatically.
  contact:
    name: API Support
    email: support@ochresoft.com
    x-phone-number: +44 (0)3300 366 700
servers:
- url: https://api.landmarkcloudservices.com/
  description: Production API
- url: https://uat-api.landmarkcloudservices.com/
  description: UAT API
security:
- bearerAuth: []
tags:
- name: Document Vaults
  description: Create a vault and manage its details and recipients.
paths:
  /:
    post:
      tags:
      - Document Vaults
      summary: Create Document Vault
      description: Creates a new Document Vault and returns its `id`. The more detail you provide upfront (property details, tenure, registered status, selling capacity, and the buyer's conveyancer's organisation and recipients), the more the vault will reflect the case from the start. Everything can be added or updated later.
      operationId: document-vault-vaults-create
      x-external-entitlement: external:document-vault:vaults:create
      parameters:
      - name: Account-Id
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createDocumentVaultRequest'
        required: true
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createDocumentVaultResponse'
          headers:
            lgsTraceResponse:
              $ref: '#/components/headers/lgsTraceResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '413':
          $ref: '#/components/responses/413PayloadTooLarge'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
  /{documentVaultId}:
    get:
      tags:
      - Document Vaults
      summary: Get Document Vault
      description: Returns a vault's current details, including each document and its `status`.
      operationId: document-vault-vaults-read
      x-external-entitlement: external:document-vault:vaults:read
      parameters:
      - name: Account-Id
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/accountId'
      - name: documentVaultId
        in: path
        description: The Document Vault ID
        required: true
        schema:
          $ref: '#/components/schemas/lgsUuid'
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getDocumentVaultResponse'
          headers:
            lgsTraceResponse:
              $ref: '#/components/headers/lgsTraceResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
  /{documentVaultId}/reference:
    put:
      tags:
      - Document Vaults
      summary: Update Reference
      description: Updates your reference for the vault.
      operationId: document-vault-reference-update
      x-external-entitlement: external:document-vault:reference:update
      parameters:
      - name: Account-Id
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/accountId'
      - name: documentVaultId
        in: path
        description: The Document Vault ID
        required: true
        schema:
          $ref: '#/components/schemas/lgsUuid'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - reference
              properties:
                reference:
                  $ref: '#/components/schemas/documentVaultReference'
      responses:
        '200':
          description: Reference updated
          headers:
            lgsTraceResponse:
              $ref: '#/components/headers/lgsTraceResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '409':
          $ref: '#/components/responses/409Conflict'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
  /{documentVaultId}/property:
    patch:
      tags:
      - Document Vaults
      summary: Update Property
      description: 'Updates fields associated with the Property.


        At least one top-level field (address, tenure, registered or sellingCapacity) must be supplied.


        Omitted top-level fields are left unchanged.


        Omitted nested fields (the fields within address) will have their existing values removed.'
      operationId: document-vault-property-update
      x-external-entitlement: external:document-vault:property:update
      parameters:
      - name: Account-Id
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/accountId'
      - name: documentVaultId
        in: path
        description: The Document Vault ID
        required: true
        schema:
          $ref: '#/components/schemas/lgsUuid'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              minProperties: 1
              properties:
                address:
                  $ref: '#/components/schemas/lgsAddressPAFPlus'
                tenure:
                  $ref: '#/components/schemas/tenure'
                registered:
                  $ref: '#/components/schemas/registered'
                sellingCapacity:
                  $ref: '#/components/schemas/sellingCapacity'
      responses:
        '200':
          description: Supplied fields updated
          headers:
            lgsTraceResponse:
              $ref: '#/components/headers/lgsTraceResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '409':
          $ref: '#/components/responses/409Conflict'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
  /{documentVaultId}/recipient-organisation:
    patch:
      tags:
      - Document Vaults
      summary: Update Recipient Organisation
      description: Updates fields associated with the Recipient Organisation. At least one of name or reference must be supplied. Omitted fields are left unchanged.
      operationId: document-vault-recipient-organisation-update
      x-external-entitlement: external:document-vault:recipient-organisation:update
      parameters:
      - name: Account-Id
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/accountId'
      - name: documentVaultId
        in: path
        description: The Document Vault ID
        required: true
        schema:
          $ref: '#/components/schemas/lgsUuid'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              minProperties: 1
              properties:
                name:
                  $ref: '#/components/schemas/organisationName'
                reference:
                  $ref: '#/components/schemas/buyerConveyancerReference'
      responses:
        '200':
          description: Supplied fields updated
          headers:
            lgsTraceResponse:
              $ref: '#/components/headers/lgsTraceResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '409':
          $ref: '#/components/responses/409Conflict'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
  /{documentVaultId}/recipient-organisation/recipients:
    post:
      tags:
      - Document Vaults
      summary: Add Recipient
      description: 'Adds a person or team to the buyer''s-side recipient organisation. This sets up who can receive the vault; sharing itself is done from the web app.


        A maximum of 4 recipients can be added to a Document Vault.'
      operationId: document-vault-recipients-create
      x-external-entitlement: external:document-vault:recipients:create
      parameters:
      - name: Account-Id
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/accountId'
      - name: documentVaultId
        in: path
        description: The Document Vault ID
        required: true
        schema:
          $ref: '#/components/schemas/lgsUuid'
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/individualRecipient'
              - $ref: '#/components/schemas/teamRecipient'
      responses:
        '200':
          description: Recipient added
          content:
            application/json:
              schema:
                type: object
                required:
                - id
                properties:
                  id:
                    description: An ID representing the added recipient
                    allOf:
                    - $ref: '#/components/schemas/lgsUuid'
          headers:
            lgsTraceResponse:
              $ref: '#/components/headers/lgsTraceResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
  /{documentVaultId}/recipient-organisation/recipients/{recipientId}:
    delete:
      tags:
      - Document Vaults
      summary: Delete Recipient
      description: Removes a recipient from the vault.
      operationId: document-vault-recipients-delete
      x-external-entitlement: external:document-vault:recipients:delete
      parameters:
      - name: Account-Id
        in: header
        required: true
        schema:
          $ref: '#/components/schemas/accountId'
      - name: documentVaultId
        in: path
        description: The Document Vault ID
        required: true
        schema:
          $ref: '#/components/schemas/lgsUuid'
      - name: recipientId
        in: path
        description: The Recipient ID
        required: true
        schema:
          $ref: '#/components/schemas/lgsUuid'
      responses:
        '200':
          description: Recipient deleted
          headers:
            lgsTraceResponse:
              $ref: '#/components/headers/lgsTraceResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
components:
  schemas:
    accountId:
      description: Your Landmark account ID - this will be provided to you during onboarding
      allOf:
      - $ref: '#/components/schemas/lgsUuid'
    lgsAddressPAFPlus:
      description: Either `buildingNumber` or `buildingName` must be provided (both may be present).
      type: object
      required:
      - thoroughfare
      - postTown
      - country
      - postcode
      additionalProperties: false
      properties:
        uprn:
          $ref: '#/components/schemas/lgsUprn'
        udprn:
          type: integer
          description: Royal Mail's Unique Delivery Point Reference Number (UDPRN)
          minimum: 0
          maximum: 99999999
        departmentName:
          type: string
          minLength: 1
          maxLength: 60
          pattern: ^(?!(&lt;[^&gt;].*&gt;|%3c[^%3e].*%3e|<[^>].*>)).*$
          example: Customer Service Department
        organisationName:
          type: string
          minLength: 1
          maxLength: 60
          pattern: ^(?!(&lt;[^&gt;].*&gt;|%3c[^%3e].*%3e|<[^>].*>)).*$
          example: JW Simpsons Ltd
        subBuildingName:
          type: string
          minLength: 1
          maxLength: 30
          pattern: ^(?!(&lt;[^&gt;].*&gt;|%3c[^%3e].*%3e|<[^>].*>)).*$
          example: The Old Mill
        buildingName:
          type: string
          minLength: 1
          maxLength: 50
          pattern: ^(?!(&lt;[^&gt;].*&gt;|%3c[^%3e].*%3e|<[^>].*>)).*$
          example: The Annexe
        buildingNumber:
          type: string
          minLength: 1
          maxLength: 4
          pattern: ^[A-Za-z0-9-/\s]*$
          example: '7'
        poBoxNumber:
          type: string
          example: '5422'
          minLength: 1
          maxLength: 14
          pattern: ^[A-Za-z0-9.#\s]*$
        dependentThoroughfare:
          type: string
          minLength: 1
          maxLength: 60
          pattern: ^[A-Za-zÀ-ž0-9\u2010-\u201F-.,'&\s]*$
          example: Richmond Terrace
        thoroughfare:
          type: string
          minLength: 1
          maxLength: 60
          pattern: ^[A-Za-zÀ-ž0-9\u2010-\u201F-.,'&\s]*$
          example: Main Street
        doubleDependentLocality:
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^[A-Za-zÀ-ž0-9\u2010-\u201F-.,'&\s]*$
          example: Hook
        dependentLocality:
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^[A-Za-zÀ-ž0-9\u2010-\u201F-.,'&\s]*$
          example: Warsash
        postTown:
          type: string
          minLength: 1
          maxLength: 30
          pattern: ^[A-Za-zÀ-ž\u2010-\u201F-.'&!\s]*$
          example: Southampton
        country:
          type: string
          minLength: 1
          maxLength: 200
          pattern: ^.*$
          example: England
        postcode:
          type: string
          maxLength: 10
          pattern: ^[A-Za-z0-9\s]+$
          example: SO99 9ZZ
        blpuEasting:
          type: number
          minimum: 0
          maximum: 700000
          example: 296701
        blpuNorthing:
          type: number
          minimum: 0
          maximum: 1300000
          example: 92288
    email:
      type: string
      format: email
      maxLength: 320
    buyerConveyancerReference:
      description: The buyer's conveyancer's reference that uniquely identifies the Document Vault
      type: string
      minLength: 1
      maxLength: 40
      pattern: ^[\w\-\/\.\|]+$
      example: UT/PL34JT/04-2025
    lastName:
      type: string
      maxLength: 40
      pattern: ^(?=.*[A-Za-zÀ-ÖØ-öø-ž])[A-Za-zÀ-ÖØ-öø-ž\u2010-\u2015‘’‛.' -]*$
      example: Smith
    recipients:
      description: An array of objects containing details of recipients to give access to the Document Vault
      type: array
      minItems: 1
      maxItems: 4
      items:
        oneOf:
        - $ref: '#/components/schemas/individualRecipient'
        - $ref: '#/components/schemas/teamRecipient'
    registered:
      description: Whether the property is registered or not
      type: boolean
    teamName:
      type: string
      maxLength: 40
      pattern: ^(?=.*[A-Za-zÀ-ÖØ-öø-ž])[A-Za-zÀ-ÖØ-öø-ž0-9\u2010-\u2015‘’‛.' -]*$
      example: Conveyancing Team 1
    sellingCapacity:
      type: string
      enum:
      - LegalAndBeneficialOwner
      - Attorney
      - PersonalRepresentative
      - Trustee
    title:
      type: string
      maxLength: 20
      pattern: ^.{0}$|^(?=.*[A-Za-zÀ-ÖØ-öø-ž])[A-Za-zÀ-ÖØ-öø-ž'. -]*$
      example: Mr
    lgsUuid:
      type: string
      format: uuid
      minLength: 36
      maxLength: 36
      pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
    individualRecipient:
      type: object
      additionalProperties: false
      required:
      - type
      - firstName
      - lastName
      - email
      properties:
        type:
          type: string
          enum:
          - Individual
        title:
          $ref: '#/components/schemas/title'
        firstName:
          $ref: '#/components/schemas/firstName'
        middleName:
          $ref: '#/components/schemas/middleName'
        lastName:
          $ref: '#/components/schemas/lastName'
        email:
          $ref: '#/components/schemas/email'
    recipientsResponse:
      description: An array of objects containing details of recipients to give access to the Document Vault
      type: array
      maxItems: 4
      items:
        oneOf:
        - $ref: '#/components/schemas/individualRecipientResponse'
        - $ref: '#/components/schemas/teamRecipientResponse'
    individualRecipientResponse:
      allOf:
      - $ref: '#/components/schemas/individualRecipient'
      - type: object
        required:
        - id
        properties:
          id:
            $ref: '#/components/schemas/lgsUuid'
    createDocumentVaultRequest:
      type: object
      additionalProperties: false
      required:
      - property
      properties:
        reference:
          $ref: '#/components/schemas/documentVaultReference'
        property:
          $ref: '#/components/schemas/propertyDetails'
        recipientOrganisation:
          $ref: '#/components/schemas/recipientOrganisation'
    tenure:
      type: string
      enum:
      - Freehold
      - Leasehold
      - Commonhold
    teamRecipientResponse:
      allOf:
      - $ref: '#/components/schemas/teamRecipient'
      - type: object
        required:
        - id
        properties:
          id:
            $ref: '#/components/schemas/lgsUuid'
    organisationName:
      description: Organisation name
      type: string
      minLength: 1
      maxLength: 128
      example: Landmark Example Conveyancing
    firstName:
      type: string
      maxLength: 40
      pattern: ^(?=.*[A-Za-zÀ-ÖØ-öø-ž])[A-Za-zÀ-ÖØ-öø-ž\u2010-\u2015‘’‛.' -]*$
      example: John
    createDocumentVaultResponse:
      description: Reference data that can be used to retrieve a Document
      type: object
      additionalProperties: false
      required:
      - id
      properties:
        id:
          $ref: '#/components/schemas/lgsUuid'
    propertyDetails:
      description: The property associated with the vault
      additionalProperties: false
      type: object
      required:
      - address
      properties:
        address:
          $ref: '#/components/schemas/lgsAddressPAFPlus'
        tenure:
          $ref: '#/components/schemas/tenure'
        registered:
          $ref: '#/components/schemas/registered'
        sellingCapacity:
          $ref: '#/components/schemas/sellingCapacity'
    teamRecipient:
      type: object
      additionalProperties: false
      required:
      - type
      - name
      - email
      properties:
        type:
          type: string
          enum:
          - Team
        name:
          $ref: '#/components/schemas/teamName'
        email:
          $ref: '#/components/schemas/email'
    document:
      description: An object containing data relating to a document
      type: object
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/lgsUuid'
        status:
          type: string
          enum:
          - Available
          - Deleted
          - Pending
          - Quarantined
        createdDate:
          type: string
          format: date-time
          maxLength: 38
    middleName:
      type: string
      maxLength: 40
      pattern: ^.{0}$|^(?=.*[A-Za-zÀ-ÖØ-öø-ž])[A-Za-zÀ-ÖØ-öø-ž\u2010-\u2015‘’‛.' -]*$
      example: Michael
    documentVaultReference:
      description: Your reference that uniquely identifies the Document Vault
      type: string
      minLength: 1
      maxLength: 50
      pattern: ^[\w\-\/\.\|]+$
      example: UT/PL34JT/04-2025
    getDocumentVaultResponse:
      description: The details stored about the Document Vault
      type: object
      required:
      - id
      - createdDate
      - createdBy
      - updatedDate
      - property
      - documents
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/lgsUuid'
        reference:
          $ref: '#/components/schemas/documentVaultReference'
        createdDate:
          type: string
          format: date-time
          maxLength: 38
        createdBy:
          $ref: '#/components/schemas/lgsUuid'
        updatedDate:
          type: string
          format: date-time
          maxLength: 38
        property:
          $ref: '#/components/schemas/propertyDetails'
        recipientOrganisation:
          $ref: '#/components/schemas/recipientOrganisationResponse'
        documents:
          type: array
          maxItems: 60
          items:
            $ref: '#/components/schemas/document'
    recipientOrganisationResponse:
      description: The organisation acting for vault recipients
      additionalProperties: false
      type: object
      required:
      - recipients
      properties:
        name:
          $ref: '#/components/schemas/organisationName'
        reference:
          $ref: '#/components/schemas/buyerConveyancerReference'
        recipients:
          $ref: '#/components/schemas/recipientsResponse'
    lgsUprn:
      type: integer
      format: int64
      minimum: 0
      maximum: 9223372036854775000
    recipientOrganisation:
      description: The organisation acting for vault recipients
      additionalProperties: false
      type: object
      properties:
        name:
          $ref: '#/components/schemas/organisationName'
        reference:
          $ref: '#/components/schemas/buyerConveyancerReference'
        recipients:
          $ref: '#/components/schemas/recipients'
    lgsErrorResponse:
      type: object
      additionalProperties: false
      required:
      - status
      - code
      - title
      properties:
        status:
          type: string
          minLength: 3
          maxLength: 3
          pattern: ^[0-9]{3}$
        code:
          type: string
          minLength: 5
          maxLength: 5
          pattern: ^[0-9]{5}$
        title:
          type: string
          minLength: 1
          maxLength: 100
        messages:
          type: array
          maxItems: 100
          items:
            type: object
            additionalProperties: false
            required:
            - message
            properties:
              property:
                type: string
                minLength: 1
                maxLength: 1000
              message:
                type: string
                minLength: 1
                maxLength: 1000
  responses:
    403Forbidden:
      description: Forbidden
      headers:
        traceresponse:
          $ref: '#/components/headers/lgsTraceResponse'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/lgsErrorResponse'
          examples:
            Invalid Entitlement:
              value:
                status: '403'
                code: '40300'
                title: Invalid Entitlement
            No Entitlement:
              value:
                status: '403'
                code: '40301'
                title: No Entitlement
            No permission to entity:
              value:
                status: '403'
                code: '40302'
                title: No permission to entity
            User not registered:
              value:
                status: '403'
                code: '40303'
                title: User not registered
            Usage limit reached:
              value:
                status: '403'
                code: '40304'
                title: Usage limit reached
            Email account not verified:
              value:
                status: '403'
                code: '40305'
                title: Email account not verified
            Token expiry too long:
              value:
                status: '403'
                code: '40306'
                title: Token expiry too long
    409Conflict:
      description: Conflict
      headers:
        traceresponse:
          $ref: '#/components/headers/lgsTraceResponse'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/lgsErrorResponse'
          examples:
            Conflict:
              value:
                status: '409'
                code: '40900'
                title: Entity in wrong state
    413PayloadTooLarge:
      description: Payload Too Large
      headers:
        traceresponse:
          $ref: '#/components/headers/lgsTraceResponse'
    500InternalServerError:
      description: Internal Server Error
      headers:
        traceresponse:
          $ref: '#/components/headers/lgsTraceResponse'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/lgsErrorResponse'
          examples:
            Resource not found:
              value:
                status: '500'
                code: '50000'
                title: Internal server error
                messages:
                - message: Sorry, something has gone wrong whilst processing your request. An error has been logged and our support team will investigate this shortly. Please try again later and if the issue persists, please contact your Account Manager referencing the value 00-199c8ce55dc743a88661498aa8eb2cfc--00.
    429TooManyRequests:
      description: Too Many Requests
      headers:
        traceresponse:
          $ref: '#/components/headers/lgsTraceResponse'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/lgsErrorResponse'
          examples:
            Rate Limit Exceeded:
              value:
                status: '429'
                code: '42900'
                title: Rate limit exceeded
    404NotFound:
      description: Not Found
      headers:
        traceresponse:
          $ref: '#/components/headers/lgsTraceResponse'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/lgsErrorResponse'
          examples:
            Entity not found:
              value:
                status: '404'
                code: '40400'
                title: Entity not found
    401Unauthorized:
      description: Unauthorized
      headers:
        traceresponse:
          $ref: '#/components/headers/lgsTraceResponse'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/lgsErrorResponse'
          examples:
            Invalid identity:
              value:
                status: '401'
                code: '40100'
                title: Invalid identity
    400BadRequest:
      description: Bad Request
      headers:
        traceresponse:
          $ref: '#/components/headers/lgsTraceResponse'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/lgsErrorResponse'
          examples:
            Invalid content type supplied:
              value:
                status: '400'
                code: '40000'
                title: Invalid content type supplied
            Validation error:
              value:
                status: '400'
                code: '40001'
                title: Validation error
            Invalid traceparent http header:
              value:
                status: '400'
                code: '40002'
                title: Invalid trace header
            No matching data found:
              value:
                status: '400'
                code: '40003'
                title: No matching data found
            Invalid header:
              value:
                status: '400'
                code: '40004'
                title: Invalid header
            Third party error:
              value:
                status: '400'
                code: '40005'
                title: Third party error
  headers:
    lgsTraceResponse:
      description: Trace context providing an unique identifier for an individual requests
      schema:
        type: string
        minLength: 39
        maxLength: 39
        pattern: ^[0-9a-fA-F]{2}-[0-9a-fA-F]{32}--[0-9a-fA-F]{2}$
      examples:
        Example traceresponse:
          value: 00-199c8ce55dc743a88661498aa8eb2cfc--00
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-tagGroups:
- name: Document Vault API
  tags:
  - Document Vaults
  - Documents
  - Activities