{
  "service": "energy_performance_certificates",
  "displayName": "Energy Performance Certificates",
  "categories": [
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Bearer Token",
      "placeholder": "epc_bearer_token",
      "description": "Energy Performance Certificates bearer token used with the Authorization header. Sign in and copy it from your GOV.UK EPC data account page: https://get-energy-performance-data.communities.gov.uk/api/my-account."
    }
  ],
  "homepageUrl": "https://get-energy-performance-data.communities.gov.uk",
  "actions": [
    {
      "id": "energy_performance_certificates.get_certificate",
      "service": "energy_performance_certificates",
      "name": "get_certificate",
      "description": "Get full details for one Energy Performance Certificate or Display Energy Certificate by certificate number.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "certificateNumber": {
            "type": "string",
            "minLength": 1,
            "description": "The Energy Performance Certificate or Display Energy Certificate number."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one EPC certificate."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "certificate": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "An Energy Performance Certificate row returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Energy Performance Certificates API response."
          }
        },
        "additionalProperties": false,
        "description": "A single EPC certificate result."
      }
    },
    {
      "id": "energy_performance_certificates.search_display_certificates",
      "service": "energy_performance_certificates",
      "name": "search_display_certificates",
      "description": "Search display Energy Performance Certificates for public buildings with supported query filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 1,
            "description": "Address text to search for."
          },
          "postcode": {
            "type": "string",
            "minLength": 1,
            "description": "Postcode to search for."
          },
          "uprn": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "Unique Property Reference Number to search for."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "Unique Property Reference Number to search for."
              }
            ],
            "description": "Unique Property Reference Number to search for."
          },
          "councils": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A council name or code."
            },
            "description": "Council names or codes to filter by.",
            "minItems": 1
          },
          "constituencies": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A parliamentary constituency name or code."
            },
            "description": "Parliamentary constituency names or codes to filter by.",
            "minItems": 1
          },
          "energyRatings": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ],
              "description": "An energy efficiency rating."
            },
            "description": "Energy efficiency ratings to filter by.",
            "minItems": 1
          },
          "dateStart": {
            "type": "string",
            "description": "Start date of the certificate registration date range.",
            "format": "date"
          },
          "dateEnd": {
            "type": "string",
            "description": "End date of the certificate registration date range.",
            "format": "date"
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5000,
            "description": "Maximum number of certificate rows to return per page."
          },
          "currentPage": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to fetch when retrieving paginated results."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching Energy Performance Certificate rows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "An Energy Performance Certificate row returned by the API."
            },
            "description": "Certificate rows returned by the API."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Pagination metadata returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Energy Performance Certificates API response."
          }
        },
        "additionalProperties": false,
        "description": "Rows returned by an EPC search endpoint."
      }
    },
    {
      "id": "energy_performance_certificates.search_domestic_certificates",
      "service": "energy_performance_certificates",
      "name": "search_domestic_certificates",
      "description": "Search domestic Energy Performance Certificates with supported query filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 1,
            "description": "Address text to search for."
          },
          "postcode": {
            "type": "string",
            "minLength": 1,
            "description": "Postcode to search for."
          },
          "uprn": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "Unique Property Reference Number to search for."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "Unique Property Reference Number to search for."
              }
            ],
            "description": "Unique Property Reference Number to search for."
          },
          "councils": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A council name or code."
            },
            "description": "Council names or codes to filter by.",
            "minItems": 1
          },
          "constituencies": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A parliamentary constituency name or code."
            },
            "description": "Parliamentary constituency names or codes to filter by.",
            "minItems": 1
          },
          "energyRatings": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ],
              "description": "An energy efficiency rating."
            },
            "description": "Energy efficiency ratings to filter by.",
            "minItems": 1
          },
          "dateStart": {
            "type": "string",
            "description": "Start date of the certificate registration date range.",
            "format": "date"
          },
          "dateEnd": {
            "type": "string",
            "description": "End date of the certificate registration date range.",
            "format": "date"
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5000,
            "description": "Maximum number of certificate rows to return per page."
          },
          "currentPage": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to fetch when retrieving paginated results."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching Energy Performance Certificate rows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "An Energy Performance Certificate row returned by the API."
            },
            "description": "Certificate rows returned by the API."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Pagination metadata returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Energy Performance Certificates API response."
          }
        },
        "additionalProperties": false,
        "description": "Rows returned by an EPC search endpoint."
      }
    },
    {
      "id": "energy_performance_certificates.search_non_domestic_certificates",
      "service": "energy_performance_certificates",
      "name": "search_non_domestic_certificates",
      "description": "Search non-domestic Energy Performance Certificates with supported query filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 1,
            "description": "Address text to search for."
          },
          "postcode": {
            "type": "string",
            "minLength": 1,
            "description": "Postcode to search for."
          },
          "uprn": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "Unique Property Reference Number to search for."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "Unique Property Reference Number to search for."
              }
            ],
            "description": "Unique Property Reference Number to search for."
          },
          "councils": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A council name or code."
            },
            "description": "Council names or codes to filter by.",
            "minItems": 1
          },
          "constituencies": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A parliamentary constituency name or code."
            },
            "description": "Parliamentary constituency names or codes to filter by.",
            "minItems": 1
          },
          "energyRatings": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ],
              "description": "An energy efficiency rating."
            },
            "description": "Energy efficiency ratings to filter by.",
            "minItems": 1
          },
          "dateStart": {
            "type": "string",
            "description": "Start date of the certificate registration date range.",
            "format": "date"
          },
          "dateEnd": {
            "type": "string",
            "description": "End date of the certificate registration date range.",
            "format": "date"
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5000,
            "description": "Maximum number of certificate rows to return per page."
          },
          "currentPage": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to fetch when retrieving paginated results."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching Energy Performance Certificate rows."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "An Energy Performance Certificate row returned by the API."
            },
            "description": "Certificate rows returned by the API."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Pagination metadata returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Energy Performance Certificates API response."
          }
        },
        "additionalProperties": false,
        "description": "Rows returned by an EPC search endpoint."
      }
    }
  ]
}
