{
    "openapi": "3.1.0",
    "info": {
        "title": "San Antonio Data Center Corroboration API",
        "version": "1.0.0",
        "description": "Facilities in the US EPA environmental register that look like data centers in the San Antonio-New Braunfels metropolitan area, and whether the City of San Antonio building-permit record contains them. NOT an inventory and NOT a count of data centers: many of these places are already published by \/api\/v1\/data-centers, the overlap is on every response, and the two totals must never be summed.",
        "license": {
            "name": "ODbL 1.0",
            "url": "https:\/\/opendatacommons.org\/licenses\/odbl\/1-0\/"
        },
        "contact": {
            "name": "BrandShyp",
            "url": "https:\/\/brandshyp.org\/san-antonio-data-center-corroboration\/"
        }
    },
    "externalDocs": {
        "url": "https:\/\/brandshyp.org\/san-antonio-data-center-corroboration\/"
    },
    "servers": [
        {
            "url": "https:\/\/brandshyp.org\/api\/v1\/dc-corroboration"
        }
    ],
    "security": [],
    "tags": [
        {
            "name": "places",
            "description": "Facilities grouped into places by coordinate"
        },
        {
            "name": "meta",
            "description": "What was searched, and what this record cannot tell you"
        }
    ],
    "paths": {
        "\/": {
            "get": {
                "tags": [
                    "meta"
                ],
                "summary": "Discovery, totals and the overlap with the permit tool",
                "operationId": "getRoot",
                "responses": {
                    "200": {
                        "description": "Discovery document",
                        "content": {
                            "application\/json": []
                        }
                    },
                    "503": {
                        "description": "Register not built yet.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/places": {
            "get": {
                "tags": [
                    "places"
                ],
                "summary": "Every place, each with its own overlap verdict",
                "description": "in_permit_tool says whether the City building-permit tool already publishes this place, matched by distance rather than by address string.",
                "operationId": "getPlaces",
                "responses": {
                    "200": {
                        "description": "Places",
                        "content": {
                            "application\/json": []
                        }
                    },
                    "503": {
                        "description": "Register not built yet.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/gaps": {
            "get": {
                "tags": [
                    "places"
                ],
                "summary": "Only the places the City permit record does not contain",
                "description": "The point of the tool: a state or federal permit record says a facility is here and the City building-permit file has nothing at that location.",
                "operationId": "getGaps",
                "responses": {
                    "200": {
                        "description": "Places absent from the permit record",
                        "content": {
                            "application\/json": []
                        }
                    },
                    "503": {
                        "description": "Register not built yet.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/searched": {
            "get": {
                "tags": [
                    "meta"
                ],
                "summary": "Every name searched, including the zeroes, and the names refused",
                "operationId": "getSearched",
                "responses": {
                    "200": {
                        "description": "Name census",
                        "content": {
                            "application\/json": []
                        }
                    },
                    "503": {
                        "description": "Register not built yet.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/quality": {
            "get": {
                "tags": [
                    "meta"
                ],
                "summary": "What this record cannot tell you",
                "description": "Returns is_a_count_of_data_centres: false, deliberately.",
                "operationId": "getQuality",
                "responses": {
                    "200": {
                        "description": "Data quality statement",
                        "content": {
                            "application\/json": []
                        }
                    },
                    "503": {
                        "description": "Register not built yet.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/places.csv": {
            "get": {
                "tags": [
                    "places"
                ],
                "summary": "Places as CSV",
                "operationId": "getPlacesCsv",
                "responses": {
                    "200": {
                        "description": "CSV of the places",
                        "content": {
                            "text\/csv": []
                        }
                    },
                    "503": {
                        "description": "Register not built yet.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/openapi.json": {
            "get": {
                "tags": [
                    "meta"
                ],
                "summary": "This document",
                "operationId": "getOpenapi",
                "responses": {
                    "200": {
                        "description": "OpenAPI 3.1 description of this API",
                        "content": {
                            "application\/json": []
                        }
                    },
                    "503": {
                        "description": "Register not built yet.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/Error"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "Error": {
                "type": "object",
                "required": [
                    "error",
                    "status"
                ],
                "properties": {
                    "error": {
                        "type": "string"
                    },
                    "status": {
                        "type": "integer"
                    }
                }
            }
        }
    }
}