openapi: 3.0.1
info:
  title: Export Health Certificates - UAT
  description: 'This API enables traders to apply for export health certificates, check the status of applications you''ve made, and check for validation errors on your applications. This is the first step towards enabling digital integration for moving agri-food goods.'
  version: v1
servers:
  - url: https://tst-gateway.trade.azure.defra.cloud/trade-sci-exports/uat/v1
paths:
  /ehc-application:
    post:
      tags:
        - EhcApplication
      summary: Submit a new Export Health Certificate Application.
      description: "Provide the details of an application to raise an Export Health Certificate for your consignment.\r\n\r\nUse the online documentation to construct a payload representing your application. Optionally use the `/ehc-application-example` \r\nendpoint to view example payloads to assist you.\r\n\r\nUse the [reference-data/metadata]($trade-sci-reference-data/metadata$) endpoint to find and search reference data lists for sub sections of the payload according to your consignment, e.g. Certifiers, Countries, Means of Transport.\r\n\r\nSubmit your constructed payload to the `/ehc-application` endpoint and react to the response status code accordingly."
      operationId: post-ehc-application
      requestBody:
        description: Details of your request for an Export Health Certificate Application.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EhcApplicationMessage'
          text/json:
            schema:
              $ref: '#/components/schemas/EhcApplicationMessage'
          application/*+json:
            schema:
              $ref: '#/components/schemas/EhcApplicationMessage'
        x-bodyName: ehcApplicationMessage
      responses:
        '202':
          description: "The submitted payload has passed preliminary validation and has resulted in a **Request** being created.\r\n\r\nA **Request** is a way to track the asynchronous processing of your message.\r\n\r\nThe **Request** is now being validated and processed in order to attempt to create an Export Health Certificate **Application**.\r\n\r\nYou can commence polling for status changes to the **Request** using the `/request-status` endpoint and the **requestId** provided in the response body."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestStatusDetails'
              example:
                _links:
                  - href: https://defra.gov.uk/api/v1/example/123
                    rel: status
                    method: GET
                requestId: b09fb181-948d-4c0c-9928-bf6d0b7ca357
                customerReference: TRD-AAA111-01
                status: Accepted
                createdOn: '2021-02-01T14:05:00.0000000+00:00'
                lastUpdated: '2021-02-01T16:40:00.0000000+00:00'
        '400':
          description: "The attempt to create a **Request** failed preliminary validation and has not been created.\r\n\r\nValidation errors can be found in the response body and must be corrected before re-submitting."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonProblemDetails'
              example:
                type: https://tools.ietf.org/html/rfc7231#section-6.5.1
                title: One or more validation errors occurred.
                status: 400
                traceId: 00-d55147526d044e41aa246671de874080-de7c8222d3b2684a-00
                errors:
                  applicationName:
                    - '''Application Name'' must not be empty.'
                  certificateQuantity:
                    - '''Certificate Quantity'' must be greater than or equal to ''1''.'
  '/ehc-application/{requestId}/request-status':
    get:
      tags:
        - EhcApplication
      summary: Asynchronous polling endpoint to query using a Request Id for status changes or validation errors.
      description: "After having confirmation that your submission has been accepted as a **Request** for an **Application** from the previous `/ehc-application` endpoint,\r\nyou are now in a position to poll for status updates.\r\n\r\nYou can use this `/request-status` endpoint with the **requestId** to poll for status updates in order to react accordingly."
      operationId: get-ehc-application-requestid-request-status
      parameters:
        - name: requestId
          in: path
          description: Format - uuid. Request Id which can be found in the `/ehc-application` submission response.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: "The **Request** has been successfully validated, submitted and resulted in an Export Health Certificate **Application** having been created.\r\n\r\nLocation and details of the created Export Health Certificate **Application** resource can be found in the response body.\r\n\r\nYou may now transition to using the `/status` endpoint should you wish to follow the progress of this **Application** as it moves through the workflow of an Export Health Certificate."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestStatusDetails'
              example:
                _links:
                  - href: https://defra.gov.uk/api/v1/example/123
                    rel: status
                    method: GET
                requestId: b09fb181-948d-4c0c-9928-bf6d0b7ca357
                customerReference: TRD-AAA111-01
                status: Accepted
                createdOn: '2021-02-01T14:05:00.0000000+00:00'
                lastUpdated: '2021-02-01T16:40:00.0000000+00:00'
        '202':
          description: The **Request** is still in the process of being validated and you should continue to poll for status changes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestStatusDetails'
              example:
                _links:
                  - href: https://defra.gov.uk/api/v1/example/123
                    rel: status
                    method: GET
                requestId: b09fb181-948d-4c0c-9928-bf6d0b7ca357
                customerReference: TRD-AAA111-01
                status: Accepted
                createdOn: '2021-02-01T14:05:00.0000000+00:00'
                lastUpdated: '2021-02-01T16:40:00.0000000+00:00'
        '400':
          description: "The **Request** was rejected due to validation errors.\r\n\r\nValidation errors can be found in the response body. Polling should be stopped and errors need to be fixed before re-submitting."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonProblemDetails'
              example:
                type: https://tools.ietf.org/html/rfc7231#section-6.5.1
                title: One or more validation errors occurred.
                status: 400
                traceId: 00-d55147526d044e41aa246671de874080-de7c8222d3b2684a-00
                errors:
                  applicationName:
                    - '''Application Name'' must not be empty.'
                  certificateQuantity:
                    - '''Certificate Quantity'' must be greater than or equal to ''1''.'
        '404':
          description: A **Request** with the specified Request Id could not be found. Please verify that the Request Id is correct and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonProblemDetails'
              example:
                type: https://tools.ietf.org/html/rfc7231#section-6.5.4
                title: Not Found
                status: 404
                traceId: 00-11dc1a21a6bc20489d3009fb27d57b87-ddc5556eac52a943-00
                errors: { }
  '/ehc-application/{requestId}/status':
    get:
      tags:
        - EhcApplication
      summary: Get the status of an Export Health Certificate Application by Request Id.
      description: "Find an Export Health Certificate **Application** to view its status and that of the certificates that are being processed as a result.\r\n\r\nAny **Applications** returned here are in the Export Health Certificate workflow and will be navigating through the certification process.\r\n\r\nYou can periodically poll to find the status, however the frequency of updates will depend on the persons who are handling the process."
      operationId: get-ehc-application-requestid-status
      parameters:
        - name: requestId
          in: path
          description: Format - uuid. Request Id provided by the `/ehc-application` submission response.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retreived the status of the requested Export Health Certificate **Application** and related Certificates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationDetails'
              example:
                _links:
                  - href: https://defra.gov.uk/api/v1/example/123
                    rel: status
                    method: GET
                requestId: b09fb181-948d-4c0c-9928-bf6d0b7ca357
                systemRequestId: '1700000123'
                customerReference: TRD-AAA111-01
                status: Submitted
                certificates:
                  - certificateId: d8e7af71-6d66-442a-9ea1-5a1bad1348ac
                    certificateSerialNumber: 20/2/012345
                    status: Submitted
                    createdOn: '2021-02-01T14:06:00.0000000+00:00'
                    lastUpdated: '2021-02-02T09:10:00.0000000+00:00'
                createdOn: '2021-02-01T14:05:00.0000000+00:00'
                lastUpdated: '2021-02-01T16:40:00.0000000+00:00'
        '404':
          description: "The **Request** could not be found.\r\n\r\nPlease verify that the Request Id is correct and that the **Request** was successfully submitted by checking the `/request-status` endpoint for a **200 OK** response."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonProblemDetails'
              example:
                type: https://tools.ietf.org/html/rfc7231#section-6.5.4
                title: Not Found
                status: 404
                traceId: 00-11dc1a21a6bc20489d3009fb27d57b87-ddc5556eac52a943-00
                errors: { }
  '/ehc-application-example/{ehcName}':
    get:
      tags:
        - EhcApplicationExample
      summary: Retrieve example payloads for an Export Health Certificate Application.
      description: 'Find an Export Health Certificate example request by the name of the certificate, e.g. 8293EHC.'
      operationId: get-ehc-application-example-ehcname
      parameters:
        - name: ehcName
          in: path
          description: Export Health Certificate name
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved a sample Export Health Certificate Application payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EhcApplicationMessage'
              example: 'Failed to generate sample value: generated sample is too big.'
        '400':
          description: The Export Health Certificate name to find has failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonProblemDetails'
              example:
                type: https://tools.ietf.org/html/rfc7231#section-6.5.1
                title: One or more validation errors occurred.
                status: 400
                traceId: 00-d55147526d044e41aa246671de874080-de7c8222d3b2684a-00
                errors:
                  applicationName:
                    - '''Application Name'' must not be empty.'
                  certificateQuantity:
                    - '''Certificate Quantity'' must be greater than or equal to ''1''.'
        '404':
          description: No sample is available or the name did not correspond to a known Export Health Certificate. Please verify the name and use the Metadata endpoint to confirm it is available.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonProblemDetails'
              example:
                type: https://tools.ietf.org/html/rfc7231#section-6.5.4
                title: Not Found
                status: 404
                traceId: 00-11dc1a21a6bc20489d3009fb27d57b87-ddc5556eac52a943-00
                errors: { }
  /ehc-metadata:
    get:
      tags:
        - EhcMetadata
      summary: Retrieve a paginated list of Export Health Certificate metadata matching specified filter parameters.
      description: "This endpoint is provided to help with the discovery and usability of the APIs to make the submission\r\nof Export Health Certificates as seamless and successful as possible.\r\n\r\nLinks are provided in the response to navigate around the APIs to find:\r\n- Example payloads for submission of Export Health Certificate requests\r\n- Endpoint to submit new Export Health Certificate requests\r\n- Reference data lists to support the creation process\r\n- Supplementary information to provide context and guidance"
      operationId: get-ehc-metadata
      parameters:
        - name: ehcName
          in: query
          description: Filter by Export Health Certificate name containing text.
          schema:
            type: string
        - name: title
          in: query
          description: Filter by Export Health Certificate title containing text.
          schema:
            type: string
        - name: isAvailableViaApi
          in: query
          description: Filter by whether the Export Health Certificate is available via the API.
          schema:
            type: boolean
        - name: pageNumber
          in: query
          description: Format - int64. Page number to return.
          schema:
            type: integer
        - name: pageSize
          in: query
          description: Format - int64. Number of items per page.
          schema:
            type: integer
      responses:
        '200':
          description: Successfully retrieved Export Health Certificate metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EhcMetadataPagedResult'
              example:
                data:
                  - _links:
                      - href: https://defra.gov.uk/api/v1/example/123
                        rel: status
                        method: GET
                    ehcName: 8293EHC
                    title: Eggs for human consumption to the European Union and Northern Ireland
                    isAvailableViaApi: true
                records: 1
                pageNumber: 1
                pageSize: 10
                totalRecords: 1
                totalPages: 1
        '400':
          description: The parameters provided in the filter were invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonProblemDetails'
              example:
                type: https://tools.ietf.org/html/rfc7231#section-6.5.1
                title: One or more validation errors occurred.
                status: 400
                traceId: 00-d55147526d044e41aa246671de874080-de7c8222d3b2684a-00
                errors:
                  applicationName:
                    - '''Application Name'' must not be empty.'
                  certificateQuantity:
                    - '''Certificate Quantity'' must be greater than or equal to ''1''.'
components:
  schemas:
    Abattoir:
      type: object
      properties:
        organisation:
          $ref: '#/components/schemas/Party'
        location:
          $ref: '#/components/schemas/Location'
        slaughterDate:
          type: string
          description: Date/time the animal is/was slaughtered.
          format: date-time
          example: ''
      additionalProperties: false
      description: 'Details of the site where the commodity is slaughtered, including the locations approval number.'
    Address:
      type: object
      properties:
        postCode:
          type: string
          description: Postcode.
        coordinates:
          $ref: '#/components/schemas/Coordinates'
        what3Words:
          $ref: '#/components/schemas/What3Words'
        unlocode:
          type: string
          description: United Nations Code for Trade and Transport Locations.
        lineOne:
          type: string
          description: Address line one.
        lineTwo:
          type: string
          description: Address line two.
        lineThree:
          type: string
          description: Address line three.
        lineFour:
          type: string
          description: Address line four.
        lineFive:
          type: string
          description: Address line five.
        city:
          type: string
          description: City.
        country:
          $ref: '#/components/schemas/Country'
        approvalNumber:
          $ref: '#/components/schemas/TradeIdentifier'
      additionalProperties: false
      description: "Address details.\r\n\r\nReference data is available:\r\n- [reference-data/country]($trade-sci-reference-data/country$) to find the details of countries and sub-divisions."
    ApplicationDetails:
      type: object
      properties:
        _links:
          type: array
          items:
            $ref: '#/components/schemas/ResourceLink'
          description: Hypermedia as the Engine of Application State (HATEOAS) links to related resources.
        requestId:
          type: string
          description: Unique identifier for the request that triggered the generation of the Application.
          format: uuid
          example: b09fb181-948d-4c0c-9928-bf6d0b7ca357
        systemRequestId:
          type: string
          description: System identifier created by the system mastering the Application.
          example: '1700000123'
        customerReference:
          type: string
          description: Customer refenence assigned by the originating customer system.
          example: TRD-AAA111-01
        status:
          $ref: '#/components/schemas/ApplicationStatus'
        certificates:
          type: array
          items:
            $ref: '#/components/schemas/CertificateDetails'
          description: Certificate details belonging to the Application.
        createdOn:
          type: string
          description: Date/time when the Application was created.
          format: date-time
          example: '2021-02-01T02:05:00.0000000+00:00'
        lastUpdated:
          type: string
          description: 'Date/time when the Application was last updated, if an update has occurred.'
          format: date-time
          example: '2021-02-01T04:40:00.0000000+00:00'
      additionalProperties: false
      description: Details of the Application and relevant Certificates.
    ApplicationStatus:
      enum:
        - Submitted
        - InReview
        - AwaitingReturn
        - Completed
        - Cancelled
        - Rejected
      type: string
      description: Statuses for the Application process for an Export Health Certificate.
    AssertedAuthentication:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/TradeIdentifier'
        actualDateTime:
          type: string
          description: Date/time of this authentication.
          format: date-time
          example: ''
        issueLocation:
          $ref: '#/components/schemas/Location'
        provider:
          $ref: '#/components/schemas/Party'
        locationProvider:
          $ref: '#/components/schemas/Party'
        includedClause:
          type: array
          items:
            $ref: '#/components/schemas/TradeIdentifier'
          description: Included clauses.
      additionalProperties: false
      description: Asserted authentication mechanisms.
    AuthenticationType:
      enum:
        - Authority
        - Veterinary
        - DEFRAVeterinary
      type: string
    BorderControlPost:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/TradeIdentifier'
        name:
          type: string
          description: Name of the BCP.
      additionalProperties: false
      description: "Border control post information.\r\n\r\nReference data is available:\r\n- [reference-data/border-control-post]($trade-sci-reference-data/border-control-post$) to find the details of border control posts."
    CertificateDelivery:
      type: object
      properties:
        method:
          type: string
          description: Method of certificate delivery.
        address:
          $ref: '#/components/schemas/Address'
        contact:
          $ref: '#/components/schemas/Person'
        attentionOf:
          $ref: '#/components/schemas/Person'
      additionalProperties: false
      description: Certificate delivery details.
    CertificateDetails:
      type: object
      properties:
        certificateId:
          type: string
          description: System identifier created by the system mastering the Certificate.
          example: d8e7af71-6d66-442a-9ea1-5a1bad1348ac
        certificateSerialNumber:
          type: string
          description: Certificate serial number used on the actual certificate document.
          example: 20/2/012345
        status:
          $ref: '#/components/schemas/CertificateStatus'
        createdOn:
          type: string
          description: Date/time when the Certificate was created.
          format: date-time
          example: '2021-02-01T02:06:00.0000000+00:00'
        lastUpdated:
          type: string
          description: 'Date/time when the Certificate was last updated, if an update has occurred.'
          format: date-time
          example: '2021-02-02T09:10:00.0000000+00:00'
      additionalProperties: false
      description: Details of the Certificate.
    CertificateRegion:
      enum:
        - England
        - Scotland
        - Wales
      type: string
      description: Geographical region for certificate issue.
    CertificateStatus:
      enum:
        - Submitted
        - PendingReturn
        - Approved
        - Cancelled
        - Rejected
      type: string
      description: Export Health Certificate statuses.
    Classification:
      type: object
      properties:
        systemId:
          $ref: '#/components/schemas/TradeIdentifier'
        name:
          type: string
          description: Name of classification.
          example: ''
        class:
          $ref: '#/components/schemas/TradeIdentifier'
        className:
          type: string
          description: 'A class name, expressed as text, for this classification.'
      additionalProperties: false
      description: Classification details.
    CommonProblemDetails:
      type: object
      properties:
        type:
          type: string
          description: 'A URI reference [RFC3986] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML [W3C.REC-html5-20141028]).  When this member is not present, its value is assumed to be "about:blank".'
        title:
          type: string
          description: 'A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see[RFC7231], Section 3.4).'
        status:
          type: integer
          description: 'The HTTP status code([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.'
          format: int32
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence of the problem.It may or may not yield further information if dereferenced.
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Errors associated with the request.
          readOnly: true
      additionalProperties: { }
      description: Common API problem format for describing system and user error HTTP API responses based on https://tools.ietf.org/html/rfc7807.
    Consignment:
      type: object
      properties:
        exporterConsignmentReferenceId:
          type: string
          description: 'An exporter reference for the consignment, linking reference materials to the consignment.'
          example: ''
        availabilityDueDateTime:
          type: string
          description: Date/time when this consignment is due to be available.
          format: date-time
          example: ''
        exportExitDateTime:
          type: string
          description: Date/time when this consignment transitions through the last one of the UKs Border Control Posts to exit the UK.
          format: date-time
          example: ''
        departureDateTime:
          type: string
          description: Date/time value when this consignment leaves site for the UK exit point.
          format: date-time
          example: ''
        exportSignatureAuthorisedDateTime:
          type: string
          description: 'Date/time when this consignment is signed off, authorised.'
          format: date-time
          example: ''
        inspectionDate:
          type: string
          description: Inspetion date/time for the consignment.
          format: date-time
          example: ''
        collectionDate:
          type: string
          description: Collection date/time for the consignment.
          format: date-time
          example: ''
        consignmentIdentification:
          type: array
          items:
            $ref: '#/components/schemas/ConsignmentIdentification'
          description: Details on how the elements of the consignment can be identified.
        consignmentSeal:
          type: array
          items:
            $ref: '#/components/schemas/ConsignmentSeal'
          description: Details of seals used to secure the consignment.
        shipStores:
          type: string
          description: Describes destination where the final destination is outside of the trading block.
          example: ''
        consignor:
          $ref: '#/components/schemas/Party'
        consignorAgent:
          $ref: '#/components/schemas/Party'
        consignee:
          $ref: '#/components/schemas/Party'
        responsible:
          $ref: '#/components/schemas/Party'
        origin:
          type: array
          items:
            $ref: '#/components/schemas/Location'
          description: Describe the origin of the individual consignment trade line commodities.
        exportLocation:
          type: array
          items:
            $ref: '#/components/schemas/Location'
          description: The export location for this consignment.
        reExportCountry:
          type: array
          items:
            $ref: '#/components/schemas/Country'
          description: Re-export countries for this consignment.
        storageEvent:
          type: array
          items:
            type: string
          description: Storage events.
        importLocation:
          type: array
          items:
            $ref: '#/components/schemas/Location'
          description: "Detail significant border crossings. \r\nOccurrence one (1) must specify the point of entry into the trading block.\r\nOccurrence two (2) defines the final destination location. \r\nThe final destination will be superseded with the information provided in the Ship Store location."
        consigneeReceiptLocation:
          $ref: '#/components/schemas/Location'
        transitLocation:
          type: array
          items:
            $ref: '#/components/schemas/Location'
          description: Transit locations for this consignment. Provide the ordering as it will be transported.
        loadingLocation:
          $ref: '#/components/schemas/Location'
        unloadingLocation:
          $ref: '#/components/schemas/Location'
        inspectionLocation:
          $ref: '#/components/schemas/Location'
        examinationEvent:
          type: string
          description: The examination event for this consignment.
        carrier:
          $ref: '#/components/schemas/Party'
        despatchParty:
          $ref: '#/components/schemas/Party'
        deliveryParty:
          $ref: '#/components/schemas/Party'
        customsTransitAgent:
          $ref: '#/components/schemas/Party'
        transportMovement:
          type: array
          items:
            $ref: '#/components/schemas/Transport'
          description: "Details the means and mode of transport the consignment will utilise, including any transport identification marks and equipment used to move the\r\ncommodity to the loading location."
      additionalProperties: false
      description: "Collates, collections of commodities, goods together. Defining the parameters by which the consignment will \r\ntransport between Consignor (Exporter) and Consignee (Importer).\r\n\r\nReference data is available:\r\n- [reference-data/country]($trade-sci-reference-data/country$) to find the details of countries and sub-divisions."
    ConsignmentIdentification:
      type: object
      properties:
        mark:
          type: string
          description: Consignment identification mark.
          example: ''
      additionalProperties: false
      description: Details on how the elements of the consignment can be identified.
    ConsignmentLine:
      type: object
      properties:
        consignmentSummary:
          $ref: '#/components/schemas/ConsignmentSummary'
        physicalPackage:
          type: array
          items:
            $ref: '#/components/schemas/Package'
          description: A physical package for this consignment line.
        exporterConsignmentLineReferenceId:
          type: string
          description: An exporter reference for the consignment line.
          example: ''
        tradeLineItem:
          type: array
          items:
            $ref: '#/components/schemas/TradeLineItem'
          description: Trade line items included in this consignment line.
      additionalProperties: false
      description: "Provides a way of grouping similar commodities within a Consignment together for processing.\r\n\r\nReference data is available:\r\n- [reference-data/package-type]($trade-sci-reference-data/package-type$) to find the details of package types."
    ConsignmentSeal:
      type: object
      properties:
        sealNo:
          type: string
          description: Seal number.
          example: ''
      additionalProperties: false
      description: Details of seals used to secure the consignment.
    ConsignmentSummary:
      type: object
      properties:
        totalQuantity:
          $ref: '#/components/schemas/Measure'
        totalPackages:
          $ref: '#/components/schemas/Package'
        totalMeasures:
          $ref: '#/components/schemas/TradeMeasure'
      additionalProperties: false
      description: "Details several measures describing the consignment line.\r\n\r\nReference data is available:\r\n- [reference-data/package-type]($trade-sci-reference-data/package-type$) to find the details of package types."
    ContactDetail:
      type: object
      properties:
        phoneNumber:
          type: string
          description: Contact telephone number.
        emailAddress:
          type: string
          description: Contact email address.
      additionalProperties: false
      description: Person contact detail.
    Container:
      type: object
      properties:
        containerId:
          $ref: '#/components/schemas/TradeIdentifier'
        sealId:
          $ref: '#/components/schemas/TradeIdentifier'
      additionalProperties: false
      description: 'Details of the container, including markings.'
    Coordinates:
      type: object
      properties:
        latitude:
          type: number
          description: Latitude.
          format: double
          example: 51.509865
        longitude:
          type: number
          description: Longitude.
          format: double
          example: -0.118092
      additionalProperties: false
      description: Geographic co-ordinates.
    CopyIndicator:
      type: object
      properties:
        content:
          type: string
          description: The value of the indicator.
          example: ''
        format:
          type: string
          description: 'Whether the indicator is numeric, textual or binary.'
          example: ''
      additionalProperties: false
      description: The indication of whether or not this exchanged document is a copy.
    Country:
      type: object
      properties:
        countryId:
          $ref: '#/components/schemas/TradeIdentifier'
        countrySubDivisionId:
          type: array
          items:
            $ref: '#/components/schemas/TradeIdentifier'
          description: ISO country sub division code identifier.
        market:
          type: string
          description: The trading market / block the country is part of.
      additionalProperties: false
      description: "Country details.\r\n\r\nReference data is available:\r\n- [reference-data/country]($trade-sci-reference-data/country$) to find the details of countries and sub-divisions."
    CuttingPlant:
      type: object
      properties:
        organisation:
          $ref: '#/components/schemas/Party'
        location:
          $ref: '#/components/schemas/Location'
      additionalProperties: false
      description: 'The location of the site where the commodity is prepared, including the locations approval number.'
    EhcApplication:
      type: object
      properties:
        certificateRequiredByDate:
          type: string
          description: Certificate required by date to facilitate the release of the consignment.
          format: date-time
          example: '2021-04-01T12:00:00.0000000+00:00'
        certificateRegion:
          $ref: '#/components/schemas/CertificateRegion'
        certifier:
          $ref: '#/components/schemas/Party'
        certificateQuantity:
          type: integer
          description: Certificate quantity type for this application.
          format: int32
          example: 1
        certificateDelivery:
          $ref: '#/components/schemas/CertificateDelivery'
      additionalProperties: false
      description: "Provides an area in the payload structure where Customers provide parameters to support the application for an Export Health Certificate (EHC).\r\n\r\nCertificate delivery address if needed, which certifier they wish to carry out the inspection(s).\r\n\r\nReference data is available:\r\n- [reference-data/certifier]($trade-sci-reference-data/certifier$) to find the details of available certifiers."
    EhcApplicationMessage:
      type: object
      properties:
        ehcApplication:
          $ref: '#/components/schemas/EhcApplication'
        exchangeDocument:
          $ref: '#/components/schemas/ExchangeDocument'
        consignment:
          $ref: '#/components/schemas/Consignment'
        consignmentLine:
          type: array
          items:
            $ref: '#/components/schemas/ConsignmentLine'
          description: Details of the consignment lines that are part of the consignment.
      additionalProperties: false
      description: Export Health Certificate message for submission.
      example: 'Failed to generate sample value: generated sample is too big.'
    EhcMetadata:
      type: object
      properties:
        _links:
          type: array
          items:
            $ref: '#/components/schemas/ResourceLink'
          description: Hypermedia as the Engine of Application State (HATEOAS) links to related resources.
        ehcName:
          type: string
          description: EHC name.
          example: 8293EHC
        title:
          type: string
          description: Title / description.
          example: Eggs for human consumption to the European Union and Northern Ireland
        isAvailableViaApi:
          type: boolean
          description: Is this EHC available via the API?
          example: true
      additionalProperties: false
      description: Export Health Certificate metadata.
    EhcMetadataPagedResult:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/EhcMetadata'
          description: Specified page within the data set.
        records:
          type: integer
          description: Number of records in the current page.
          format: int64
          example: '1.0'
        pageNumber:
          type: integer
          description: Page number.
          format: int64
          example: '1.0'
        pageSize:
          type: integer
          description: Page size.
          format: int64
          example: '10.0'
        totalRecords:
          type: integer
          description: Total number of records across all pages.
          format: int64
          example: '1.0'
        totalPages:
          type: integer
          description: Total number of pages.
          format: int64
          readOnly: true
          example: '1.0'
      additionalProperties: false
      description: Paginated response from the API.
    EhcNameVersion:
      type: object
      properties:
        ehcName:
          type: string
          description: Name of the EHC.
          example: 8293EHC
        ehcVersion:
          type: string
          description: Version number of the EHC.
          example: '1.8'
      additionalProperties: false
      description: Name and version of an Export Health Certificate.
    ExchangeDocument:
      type: object
      properties:
        ehc:
          $ref: '#/components/schemas/EhcNameVersion'
        exporterApplicationReferenceId:
          type: string
          description: Exporter application reference to enable the tracking of the application through its certificate assurance and issuing life cycle.
          example: TRD-ABC-001
        description:
          type: string
          description: A textual description of this exchange document.
          example: ''
        certificateType:
          $ref: '#/components/schemas/TradeIdentifier'
        exchangeDocumentStatus:
          $ref: '#/components/schemas/TypeCode'
        issueDateTime:
          type: string
          description: Date/time for the issuance of this exchange document.
          format: date-time
        copyIndicator:
          $ref: '#/components/schemas/CopyIndicator'
        includeNote:
          type: array
          items:
            $ref: '#/components/schemas/IncludeNote'
          description: A note included in this exchange document.
        referenceDocument:
          type: string
          description: A document referenced by this exchanged document.
          example: ''
        signatoryAuthentication:
          type: string
          description: A signatory document authentication for this exchange document.
          example: ''
        veterinarianPracticeSignatoryAuthentication:
          $ref: '#/components/schemas/SignatoryAuthentication'
        veterinarian:
          $ref: '#/components/schemas/Person'
      additionalProperties: false
      description: Confirms the level of regulatory assurance to any importing and any transit countries competent authorities the goods have been measured against. Including references to supporting documents.
    FactoryVessel:
      type: object
      properties:
        organisation:
          $ref: '#/components/schemas/Party'
        location:
          $ref: '#/components/schemas/Location'
      additionalProperties: false
      description: 'Details of the vessel, including its approval number.'
    HatcheryLocation:
      type: object
      properties:
        organisation:
          $ref: '#/components/schemas/Party'
        location:
          $ref: '#/components/schemas/Location'
      additionalProperties: false
      description: 'The location of the site where the commodity is incubated, hatched and reared, plus approval number.'
    IncludeNote:
      type: object
      properties:
        noteId:
          $ref: '#/components/schemas/TradeIdentifier'
        note:
          type: string
          description: The note text included in the exchange document.
          example: ''
      additionalProperties: false
      description: A note included in an exchange document.
    Location:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/TradeIdentifier'
        name:
          type: string
          description: 'Location site name, an organisations name.'
        country:
          $ref: '#/components/schemas/Country'
        address:
          $ref: '#/components/schemas/Address'
        approvalNumber:
          $ref: '#/components/schemas/TradeIdentifier'
        temperature:
          $ref: '#/components/schemas/Temperature'
        function:
          $ref: '#/components/schemas/TradeIdentifier'
        borderControlPost:
          $ref: '#/components/schemas/BorderControlPost'
      additionalProperties: false
      description: "Details of a location including approval numbers for the establishment.\r\n\r\nReference data is available:\r\n- [reference-data/country]($trade-sci-reference-data/country$) to find the details of countries and sub-divisions."
    ManufacturingPlant:
      type: object
      properties:
        organisation:
          $ref: '#/components/schemas/Party'
        location:
          $ref: '#/components/schemas/Location'
      additionalProperties: false
      description: 'The location of the site where the commodity is manufactured, including the approval number'
    Measure:
      type: object
      properties:
        value:
          type: number
          description: The numeric value determined by measuring an object.
          format: double
        unit:
          type: string
          description: Type of unit describing the measure.
        version:
          type: string
          description: The version of the measure unit code list.
        measureNote:
          type: string
          description: Information or additional detail regarding the measure.
      additionalProperties: false
      description: A numeric value determined by measuring an object along with the specified unit of measure.
    Note:
      type: object
      properties:
        subject:
          type: string
          description: 'The subject, expressed as text, of this note.'
        content:
          type: string
          description: 'Content, expressed as text, in this note.'
        contentCode:
          $ref: '#/components/schemas/TradeIdentifier'
        subjectCode:
          $ref: '#/components/schemas/TradeIdentifier'
      additionalProperties: false
      description: A note providing additional information.
    Package:
      type: object
      properties:
        level:
          $ref: '#/components/schemas/TradeIdentifier'
        type:
          $ref: '#/components/schemas/TradeIdentifier'
        itemQuantity:
          $ref: '#/components/schemas/Measure'
        nominalGrossWeight:
          $ref: '#/components/schemas/Measure'
        nominalGrossVolume:
          $ref: '#/components/schemas/Measure'
      additionalProperties: false
      description: "Describe the physical package containing the commodities.\r\n\r\nReference data is available:\r\n- [reference-data/package-type]($trade-sci-reference-data/package-type$) to find the details of package types."
    PackageCount:
      type: object
      properties:
        quantity:
          type: number
          description: Count of the number number of physical packages.
          format: double
        quantityUnits:
          type: string
          description: Unit of measure for the count.
      additionalProperties: false
      description: A count of packages containing the commodity.
    PackingCentre:
      type: object
      properties:
        organisation:
          $ref: '#/components/schemas/Party'
        location:
          $ref: '#/components/schemas/Location'
      additionalProperties: false
      description: 'The location of the site where the commodity is packed, including the approval number.'
    Party:
      type: object
      properties:
        uid:
          type: array
          items:
            $ref: '#/components/schemas/TradeIdentifier'
          description: Identifier the party is known by.
        name:
          type: string
          description: Name of the party.
          example: ''
        address:
          $ref: '#/components/schemas/Address'
        contact:
          type: array
          items:
            $ref: '#/components/schemas/Person'
          description: Details of relevant persons at the Party.
        specifiedPerson:
          $ref: '#/components/schemas/Person'
      additionalProperties: false
      description: The definition of a responsible party in the chain with contact details.
    Period:
      type: object
      properties:
        startDateTime:
          type: string
          description: Date/time for the start of this period.
          format: date-time
        endDateTime:
          type: string
          description: Date/time for the end of this period.
          format: date-time
        durationMeasure:
          $ref: '#/components/schemas/Measure'
      additionalProperties: false
      description: The completion period for this process.
    Person:
      type: object
      properties:
        name:
          type: string
          description: Unstructured / preferred name as text.
          example: ''
        fullName:
          $ref: '#/components/schemas/PersonName'
        contactDetail:
          $ref: '#/components/schemas/ContactDetail'
        certification:
          type: array
          items:
            $ref: '#/components/schemas/TradeIdentifier'
          description: Details of the certifications the representative holds if applicable.
      additionalProperties: false
      description: Persons details.
    PersonName:
      type: object
      properties:
        title:
          type: string
          description: Title.
          example: Mr
        givenName:
          type: string
          description: Given / first name.
          example: Steven
        middleNames:
          type: string
          description: Middle names.
          example: John
        surname:
          type: string
          description: Surname / last name.
          example: Smith
      additionalProperties: false
      description: Structured name for a person.
    Product:
      type: object
      properties:
        description:
          type: string
          description: A textual description of this product.
          example: ''
        commonName:
          type: string
          description: 'A common name, expressed as text of this product.'
          example: ''
        scientificName:
          type: string
          description: 'A scientific name, expressed as text, of this product.'
          example: ''
        speciesName:
          type: string
          description: 'A species name, expressed as text, of this product.'
          example: ''
        cites:
          type: string
          description: A CITES identified product.
          example: ''
        taricCode:
          type: array
          items:
            type: string
          description: TARIC codes for this product.
        eppoCode:
          type: array
          items:
            type: string
          description: EPPO codes for this product.
        naturalTemperatureCategory:
          $ref: '#/components/schemas/TemperatureCategory'
      additionalProperties: false
      description: Details of the Product including identifiers for the commodity.
    ProductCharacteristic:
      type: object
      properties:
        characteristic:
          type: string
          description: Name identifier for the characteristic.
        characteristicValue:
          $ref: '#/components/schemas/ProductCharacteristicValue'
      additionalProperties: false
      description: Product characteristic details.
    ProductCharacteristicValue:
      type: object
      properties:
        addressValue:
          $ref: '#/components/schemas/Address'
        booleanValue:
          type: boolean
          description: Value expressed as a Boolean.
        stringValue:
          type: string
          description: Value expressed as text.
        dateTimeValue:
          type: string
          description: Value expressed as a date / time.
          format: date-time
        numberValue:
          type: number
          description: Value expressed as a number.
          format: double
      additionalProperties: false
      description: Value for a characteristic.
    ProductIdentification:
      type: object
      properties:
        mark:
          $ref: '#/components/schemas/TradeIdentifier'
      additionalProperties: false
      description: Identification marks relating to the product.
    ProductSeal:
      type: object
      properties:
        sealId:
          $ref: '#/components/schemas/TradeIdentifier'
      additionalProperties: false
      description: Seal number(s) and issuing authority.
    RequestStatus:
      enum:
        - Accepted
        - SubmissionError
        - Submitted
      type: string
      description: Statuses for the asynchronous submission of a request message into the system.
    RequestStatusDetails:
      type: object
      properties:
        _links:
          type: array
          items:
            $ref: '#/components/schemas/ResourceLink'
          description: Hypermedia as the Engine of Application State (HATEOAS) links to related resources.
        requestId:
          type: string
          description: Unique identifier for the request that triggered the generation of the Application.
          format: uuid
          example: b09fb181-948d-4c0c-9928-bf6d0b7ca357
        customerReference:
          type: string
          description: Customer refenence assigned by the originating customer system.
          example: TRD-AAA111-01
        status:
          $ref: '#/components/schemas/RequestStatus'
        createdOn:
          type: string
          description: Date/time when the Request was created.
          format: date-time
          example: '2021-02-01T02:05:00.0000000+00:00'
        lastUpdated:
          type: string
          description: 'Date/time when the Request was last updated, if an update has occurred.'
          format: date-time
          example: '2021-02-01T04:40:00.0000000+00:00'
      additionalProperties: false
      description: Details of the Request in the system prior to it potentially becoming an Application.
    ResourceLink:
      type: object
      properties:
        href:
          type: string
          description: Uniform Resource Identifier of the resource being linked to.
          example: https://defra.gov.uk/api/v1/example/123
        rel:
          type: string
          description: Relationship of the resource.
          example: status
        method:
          type: string
          description: HTTP method to use when calling the resource.
          example: GET
      additionalProperties: false
      description: Hypermedia as the Engine of Application State (HATEOAS) resource link.
    SignatoryAuthentication:
      type: object
      properties:
        name:
          type: string
          description: Name of the organisation providing signoff for the consignment.
        signatoryAuthenticationId:
          type: string
          description: Registration identifier for the organisation.
        type:
          $ref: '#/components/schemas/AuthenticationType'
        address:
          $ref: '#/components/schemas/Address'
      additionalProperties: false
      description: An signatory document authentication for an exchanged document.
    StorageLocation:
      type: object
      properties:
        organisation:
          $ref: '#/components/schemas/Party'
        location:
          $ref: '#/components/schemas/Location'
        storageDate:
          type: string
          description: Date/time the products are moved into storage.
          format: date-time
        storageExpiryDate:
          type: string
          description: Date/time the products in storage expires.
          format: date-time
      additionalProperties: false
      description: 'The location of the site where the commodity is stored, including approval number and the conditions the store stores the commodity.'
    Temperature:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/Measure'
        minimumValue:
          $ref: '#/components/schemas/Measure'
        maximumValue:
          $ref: '#/components/schemas/Measure'
        type:
          $ref: '#/components/schemas/TypeCode'
        transportTemperatureCategory:
          $ref: '#/components/schemas/TemperatureCategory'
      additionalProperties: false
      description: "A temperature setting, such as the storage temperature or operational temperature, for this piece of transport equipment.\r\n\r\nReference data is available:\r\n- [reference-data/measurement-temperature]($trade-sci-reference-data/measurement-temperature$) to find the temperature measurement details."
    TemperatureCategory:
      enum:
        - Ambient
        - Chilled
        - Frozen
      type: string
      description: Temperature category.
    TradeIdentifier:
      type: object
      properties:
        id:
          type: string
          description: 'A character string to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects within the same scheme.'
        name:
          type: string
          description: 'A character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an Attribute.'
        schemaId:
          type: string
          description: The identification of the identification scheme.
        schemaName:
          type: string
          description: The name of the identification scheme.
        agencyId:
          type: string
          description: The identification of the agency that maintains the identification scheme.
        agencyName:
          type: string
          description: The name of the agency that maintains the identification scheme.
        versionId:
          type: string
          description: The Version of the identification scheme.
        uniformResourceId:
          type: string
          description: The Uniform Resource Identifier that identifies where the identification scheme data is located.
        schemaUniformResourceId:
          type: string
          description: The Uniform Resource Identifier that identifies where the identification scheme is located.
        language:
          type: string
          description: The identifier of the language used in the corresponding text string.
          example: EN
      additionalProperties: false
      description: "A character string to identify and distinguish uniquely, one instance of an object in an identification scheme \r\nfrom all other objects in the same scheme together with relevant supplementary information.A character string \r\nto identify and distinguish uniquely, one instance of an object in an identification scheme from all other \r\nobjects in the same scheme together with relevant supplementary information."
    TradeLineItem:
      type: object
      properties:
        sequenceNumber:
          type: integer
          description: The sequence number for this trade line item. Starting at 1.
          format: int32
          example: 1
        exporterTradeLineReferenceId:
          type: string
          description: An exporter trade line reference for the trade line commodity.
          example: ''
        tradeProduct:
          $ref: '#/components/schemas/Product'
        productCharacteristic:
          type: array
          items:
            $ref: '#/components/schemas/ProductCharacteristic'
          description: Detail post-manufacturing characteristics for the resulting product
        animalCharacteristic:
          type: array
          items:
            $ref: '#/components/schemas/ProductCharacteristic'
          description: 'Detail characteristics of the animal, requested attributes, tests and vaccinations.'
        aquacultureCharacteristic:
          type: array
          items:
            $ref: '#/components/schemas/ProductCharacteristic'
          description: Aquaculture characteristics.
        container:
          type: array
          items:
            $ref: '#/components/schemas/Container'
          description: 'Details of the container, including markings.'
        productSeal:
          type: array
          items:
            $ref: '#/components/schemas/ProductSeal'
          description: Seal number(s) and issuing authority.
        productIdentification:
          type: array
          items:
            $ref: '#/components/schemas/ProductIdentification'
          description: Identification marks relating to the product.
        productionBatch:
          $ref: '#/components/schemas/TradeIdentifier'
        intendedUse:
          type: string
          description: 'An intended use, expressed as text, of this trade line item.'
        expiryDateTime:
          type: string
          description: 'For products with a life span, provide the expiry date time for the product or output.'
          format: date-time
          example: ''
        productImportDate:
          type: string
          description: Import date.
          format: date-time
          example: ''
        measure:
          $ref: '#/components/schemas/TradeMeasure'
        additionalInformationNote:
          type: array
          items:
            $ref: '#/components/schemas/Note'
          description: A note providing additional information for this trade line item.
        applicableClassification:
          type: array
          items:
            $ref: '#/components/schemas/Classification'
          description: A classification applicable to this trade line item.
        physicalPackageCount:
          $ref: '#/components/schemas/PackageCount'
        physicalPackage:
          type: array
          items:
            $ref: '#/components/schemas/Package'
          description: Describe the physical package(s) containing the commodities.
        transportMovement:
          type: array
          items:
            $ref: '#/components/schemas/Transport'
          description: Describes to equipment used to move the commodity to the loading location.
        origin:
          type: array
          items:
            $ref: '#/components/schemas/Location'
          description: 'Details of the commodities origin, country and subdivision of the country.'
        appliedProcess:
          type: array
          items:
            $ref: '#/components/schemas/TradeProcess'
          description: Applied processes.
        assertedAuthentication:
          $ref: '#/components/schemas/AssertedAuthentication'
        manufacturingPlant:
          type: array
          items:
            $ref: '#/components/schemas/ManufacturingPlant'
          description: 'The location of the site where the commodity is manufactured, including the approval number.'
        abattoir:
          type: array
          items:
            $ref: '#/components/schemas/Abattoir'
          description: 'Details of the site where the commodity is slaughtered, including the locations approval number.'
        cuttingPlant:
          type: array
          items:
            $ref: '#/components/schemas/CuttingPlant'
          description: 'The location of the site where the commodity is prepared, including the locations approval number.'
        factoryVessel:
          type: array
          items:
            $ref: '#/components/schemas/FactoryVessel'
          description: 'Details of the vessel, including its approval number.'
        packingCentre:
          type: array
          items:
            $ref: '#/components/schemas/PackingCentre'
          description: 'The location of the site where the commodity is packed, including the approval number.'
        storage:
          type: array
          items:
            $ref: '#/components/schemas/StorageLocation'
          description: 'The location of the site where the commodity is stored, including approval number and the conditions the store stores the commodity.'
        poultryHatchery:
          type: array
          items:
            $ref: '#/components/schemas/HatcheryLocation'
          description: 'The location of the site where the commodity is incubated, hatched and reared, plus approval number.'
        veterinarianPracticeSignatoryAuthentication:
          $ref: '#/components/schemas/SignatoryAuthentication'
      additionalProperties: false
      description: "Describes the commodity, details processes. Functions relating to the commodity. \r\n\r\nReference data is available:\r\n- [reference-data/package-type]($trade-sci-reference-data/package-type$) to find the details of package types."
    TradeMeasure:
      type: object
      properties:
        quantity:
          $ref: '#/components/schemas/Measure'
        quantityMeasureUnit:
          type: string
          description: Quantity measure unit.
          example: ''
        netWeight:
          $ref: '#/components/schemas/Measure'
        grossWeight:
          $ref: '#/components/schemas/Measure'
        netVolume:
          $ref: '#/components/schemas/Measure'
        grossVolume:
          $ref: '#/components/schemas/Measure'
        measureNote:
          type: string
          description: Information or additional detail regarding the measure.
      additionalProperties: false
      description: Trade measurement details.
    TradeProcess:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/TradeIdentifier'
        completionPeriod:
          $ref: '#/components/schemas/Period'
        operationLocation:
          $ref: '#/components/schemas/Location'
        operator:
          $ref: '#/components/schemas/Party'
      additionalProperties: false
      description: Trade process details.
    Transport:
      type: object
      properties:
        equipment:
          $ref: '#/components/schemas/TradeIdentifier'
        sealId:
          type: array
          items:
            $ref: '#/components/schemas/TradeIdentifier'
          description: Seal identifiers.
        transportTemperatureCategory:
          $ref: '#/components/schemas/TemperatureCategory'
        meansOfTransport:
          $ref: '#/components/schemas/TradeIdentifier'
        meansOfTransportIdentification:
          type: string
          description: Identification mark attached to the means of transport.
          example: ''
        approvalNumber:
          $ref: '#/components/schemas/TradeIdentifier'
        document:
          type: array
          items:
            $ref: '#/components/schemas/TransportDocument'
          description: 'Document names, supporting the consignment.'
      additionalProperties: false
      description: "Details the means and mode of transport the consignment will utilise, including any transport identification marks and equipment used to move the\r\ncommodity to the loading location.\r\n\r\nReference data is available:\r\n- [reference-data/transport-means]($trade-sci-reference-data/transport-means$) to find the details of means of transport."
    TransportDocument:
      type: object
      properties:
        reference:
          type: string
          description: Document reference.
      additionalProperties: false
      description: Transport document details.
    TypeCode:
      type: object
      properties:
        content:
          type: string
          description: 'A character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an Attribute.'
          example: '17'
        codeListId:
          type: string
          description: The identification of a list of codes.
          example: ''
        codeListAgencyId:
          type: string
          description: An agency that maintains one or more code lists.
          example: ''
        codeListAgencyName:
          type: string
          description: The name of the agency that maintains the code list.
          example: ''
        codeListName:
          type: string
          description: The name of a list of codes.
          example: ''
        codeListVersion:
          type: string
          description: The Version of the code list.
          example: ''
        name:
          type: string
          description: The textual equivalent of the code content.
          example: Requested
        language:
          type: string
          description: The identifier of the language used in the corresponding text string.
          example: EN
      additionalProperties: false
      description: "A character string (letters, figures or symbols) that for brevity and/or language independence \r\nmay be used to represent or replace a definitive value or text of an Attribute together with \r\nrelevant supplementary information."
    What3Words:
      type: object
      properties:
        wordOne:
          type: string
          description: Word one.
          example: ''
        wordTwo:
          type: string
          description: Word two.
          example: ''
        wordThree:
          type: string
          description: Word three.
          example: ''
      additionalProperties: false
      description: What 3 Words location identifier details.
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      name: Ocp-Apim-Subscription-Key
      in: header
    apiKeyQuery:
      type: apiKey
      name: subscription-key
      in: query
    oauth2OAuth-Server:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/c9d74090-b4e6-4b04-981d-e6757a160812/oauth2/v2.0/token
          scopes:
            api://tst-futuretrade-ext.defra.gov.uk/.default: ''