{
  "openapi": "3.1.0",
  "info": {
    "title": "TenderStandard UK open FM procurement data",
    "version": "1.0.0",
    "description": "Free, read-only data on UK public sector facilities management, M&E and building services procurement, built from official notices. Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Credit \"TenderStandard UK\" and link to https://tenderstandard.co.uk.",
    "contact": {
      "url": "https://tenderstandard.co.uk/contact"
    },
    "license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    }
  },
  "servers": [
    {
      "url": "https://tenderstandard.co.uk"
    }
  ],
  "paths": {
    "/data/v1/tenders.json": {
      "get": {
        "summary": "Live FM tenders open for bids",
        "parameters": [
          {
            "name": "service",
            "in": "query",
            "required": false,
            "description": "FM service slug",
            "schema": {
              "type": "string",
              "enum": [
                "facilities-management",
                "cleaning",
                "security",
                "fire-safety",
                "lift-maintenance",
                "water-hygiene",
                "hvac-mechanical",
                "electrical",
                "building-maintenance",
                "grounds-maintenance",
                "waste-management",
                "pest-control",
                "catering",
                "asbestos",
                "minor-works-refurbishment",
                "housing-maintenance",
                "energy-decarbonisation"
              ]
            }
          },
          {
            "name": "nation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "scotland",
                "wales"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Envelope with source, licence, attribution, generated_at, total, count and items"
          },
          "400": {
            "description": "Unknown filter value"
          }
        }
      }
    },
    "/data/v1/pipeline.json": {
      "get": {
        "summary": "Upcoming FM tenders from pipeline, market engagement and planned procurement notices",
        "parameters": [
          {
            "name": "service",
            "in": "query",
            "required": false,
            "description": "FM service slug",
            "schema": {
              "type": "string",
              "enum": [
                "facilities-management",
                "cleaning",
                "security",
                "fire-safety",
                "lift-maintenance",
                "water-hygiene",
                "hvac-mechanical",
                "electrical",
                "building-maintenance",
                "grounds-maintenance",
                "waste-management",
                "pest-control",
                "catering",
                "asbestos",
                "minor-works-refurbishment",
                "housing-maintenance",
                "energy-decarbonisation"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Envelope with source, licence, attribution, generated_at, total, count and items"
          },
          "400": {
            "description": "Unknown filter value"
          }
        }
      }
    },
    "/data/v1/awards.json": {
      "get": {
        "summary": "FM contract awards in the last 12 months, or contracts ending in the next 18 months",
        "parameters": [
          {
            "name": "service",
            "in": "query",
            "required": false,
            "description": "FM service slug",
            "schema": {
              "type": "string",
              "enum": [
                "facilities-management",
                "cleaning",
                "security",
                "fire-safety",
                "lift-maintenance",
                "water-hygiene",
                "hvac-mechanical",
                "electrical",
                "building-maintenance",
                "grounds-maintenance",
                "waste-management",
                "pest-control",
                "catering",
                "asbestos",
                "minor-works-refurbishment",
                "housing-maintenance",
                "energy-decarbonisation"
              ]
            }
          },
          {
            "name": "expiring",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Envelope with source, licence, attribution, generated_at, total, count and items"
          },
          "400": {
            "description": "Unknown filter value"
          }
        }
      }
    },
    "/data/v1/report/{month}.json": {
      "get": {
        "summary": "Monthly UK FM tender market report",
        "parameters": [
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Report figures"
          },
          "404": {
            "description": "No report for that month"
          }
        }
      }
    }
  }
}