{
  "openapi": "3.1.1",
  "info": {
    "title": "API de localidades de Indexa",
    "version": "0.1.0",
    "description": "Catálogo versionado de lugares administrativos de la República Dominicana, con información de sus fuentes, para consultar localidades."
  },
  "components": {
    "schemas": {}
  },
  "paths": {
    "/v1/catalog": {
      "get": {
        "operationId": "getCatalog",
        "summary": "Obtén la versión activa del catálogo",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "catalog"
                  ],
                  "properties": {
                    "catalog": {
                      "type": "object",
                      "required": [
                        "releaseId",
                        "effectiveOn",
                        "knownThrough",
                        "releaseSha256",
                        "scope",
                        "qualityStatus",
                        "publishedAt",
                        "status"
                      ],
                      "properties": {
                        "releaseId": {
                          "type": "string",
                          "pattern": "^dr_[A-Za-z0-9._-]+$"
                        },
                        "effectiveOn": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "knownThrough": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "releaseSha256": {
                          "type": "string",
                          "pattern": "^[0-9a-f]{64}$"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "qualityStatus": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "verified"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "provisional"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "conflicted"
                              ]
                            }
                          ]
                        },
                        "publishedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "active"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "retained"
                              ]
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "500": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "503": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/v1/catalog/releases/{releaseId}": {
      "get": {
        "operationId": "getCatalogRelease",
        "summary": "Obtén una versión del catálogo por su clave",
        "tags": [
          "catalog"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^dr_[A-Za-z0-9._-]+$"
            },
            "in": "path",
            "name": "releaseId",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "catalog"
                  ],
                  "properties": {
                    "catalog": {
                      "type": "object",
                      "required": [
                        "releaseId",
                        "effectiveOn",
                        "knownThrough",
                        "releaseSha256",
                        "scope",
                        "qualityStatus",
                        "publishedAt",
                        "status"
                      ],
                      "properties": {
                        "releaseId": {
                          "type": "string",
                          "pattern": "^dr_[A-Za-z0-9._-]+$"
                        },
                        "effectiveOn": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "knownThrough": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "releaseSha256": {
                          "type": "string",
                          "pattern": "^[0-9a-f]{64}$"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "qualityStatus": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "verified"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "provisional"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "conflicted"
                              ]
                            }
                          ]
                        },
                        "publishedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "active"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "retained"
                              ]
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "500": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "503": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/v1/places/{placeId}": {
      "get": {
        "operationId": "getPlace",
        "summary": "Obtén un lugar y su jerarquía actual",
        "tags": [
          "places"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^dr_[A-Za-z0-9._-]+$"
            },
            "in": "query",
            "name": "release",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
            },
            "in": "path",
            "name": "placeId",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "catalog",
                    "place"
                  ],
                  "properties": {
                    "catalog": {
                      "type": "object",
                      "required": [
                        "releaseId",
                        "effectiveOn",
                        "knownThrough",
                        "releaseSha256",
                        "scope",
                        "qualityStatus",
                        "publishedAt",
                        "status"
                      ],
                      "properties": {
                        "releaseId": {
                          "type": "string",
                          "pattern": "^dr_[A-Za-z0-9._-]+$"
                        },
                        "effectiveOn": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "knownThrough": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "releaseSha256": {
                          "type": "string",
                          "pattern": "^[0-9a-f]{64}$"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "qualityStatus": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "verified"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "provisional"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "conflicted"
                              ]
                            }
                          ]
                        },
                        "publishedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "active"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "retained"
                              ]
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "place": {
                      "type": "object",
                      "required": [
                        "id",
                        "name",
                        "kind",
                        "qualityStatus",
                        "ancestors",
                        "identifiers",
                        "sources"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                        },
                        "name": {
                          "type": "string"
                        },
                        "kind": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "country"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "region"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "national_district"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "province"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "municipality"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "municipal_district"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "urban_zone"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "section"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "barrio"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "paraje"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "subbarrio"
                              ]
                            }
                          ]
                        },
                        "qualityStatus": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "verified"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "provisional"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "conflicted"
                              ]
                            }
                          ]
                        },
                        "ancestors": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "id",
                              "name",
                              "kind",
                              "qualityStatus"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                              },
                              "name": {
                                "type": "string"
                              },
                              "kind": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "country"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "region"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "national_district"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "province"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "municipality"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "municipal_district"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "urban_zone"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "section"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "barrio"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "paraje"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "subbarrio"
                                    ]
                                  }
                                ]
                              },
                              "qualityStatus": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "verified"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "provisional"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "conflicted"
                                    ]
                                  }
                                ]
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "identifiers": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "scheme",
                              "code"
                            ],
                            "properties": {
                              "scheme": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "sources": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "namespace",
                              "artifactSha256"
                            ],
                            "properties": {
                              "namespace": {
                                "type": "string"
                              },
                              "artifactSha256": {
                                "type": "string",
                                "pattern": "^[0-9a-f]{64}$"
                              }
                            },
                            "additionalProperties": false
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "500": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "503": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/v1/places/{placeId}/children": {
      "get": {
        "operationId": "listPlaceChildren",
        "summary": "Lista los descendientes directos de un lugar",
        "tags": [
          "places"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^dr_[A-Za-z0-9._-]+$"
            },
            "in": "query",
            "name": "release",
            "required": false
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "country"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "region"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "national_district"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "province"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "municipality"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "municipal_district"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "urban_zone"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "section"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "barrio"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "paraje"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "subbarrio"
                  ]
                }
              ]
            },
            "in": "query",
            "name": "kind",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "pattern": "\\S"
            },
            "in": "query",
            "name": "requiredScheme",
            "required": false
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "in": "query",
            "name": "limit",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "in": "query",
            "name": "cursor",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
            },
            "in": "path",
            "name": "placeId",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "catalog",
                    "children",
                    "nextCursor"
                  ],
                  "properties": {
                    "catalog": {
                      "type": "object",
                      "required": [
                        "releaseId",
                        "effectiveOn",
                        "knownThrough",
                        "releaseSha256",
                        "scope",
                        "qualityStatus",
                        "publishedAt",
                        "status"
                      ],
                      "properties": {
                        "releaseId": {
                          "type": "string",
                          "pattern": "^dr_[A-Za-z0-9._-]+$"
                        },
                        "effectiveOn": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "knownThrough": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "releaseSha256": {
                          "type": "string",
                          "pattern": "^[0-9a-f]{64}$"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "qualityStatus": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "verified"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "provisional"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "conflicted"
                              ]
                            }
                          ]
                        },
                        "publishedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "active"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "retained"
                              ]
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "children": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "name",
                          "kind",
                          "qualityStatus",
                          "ancestors",
                          "identifiers",
                          "sources"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                          },
                          "name": {
                            "type": "string"
                          },
                          "kind": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "country"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "region"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "national_district"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "province"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "municipality"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "municipal_district"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "urban_zone"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "section"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "barrio"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "paraje"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "subbarrio"
                                ]
                              }
                            ]
                          },
                          "qualityStatus": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "verified"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "provisional"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "conflicted"
                                ]
                              }
                            ]
                          },
                          "ancestors": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "id",
                                "name",
                                "kind",
                                "qualityStatus"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "kind": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "country"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "region"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "national_district"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "province"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "municipality"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "municipal_district"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "urban_zone"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "section"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "barrio"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "paraje"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "subbarrio"
                                      ]
                                    }
                                  ]
                                },
                                "qualityStatus": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "verified"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "provisional"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "conflicted"
                                      ]
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "identifiers": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "scheme",
                                "code"
                              ],
                              "properties": {
                                "scheme": {
                                  "type": "string"
                                },
                                "code": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "sources": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "namespace",
                                "artifactSha256"
                              ],
                              "properties": {
                                "namespace": {
                                  "type": "string"
                                },
                                "artifactSha256": {
                                  "type": "string",
                                  "pattern": "^[0-9a-f]{64}$"
                                }
                              },
                              "additionalProperties": false
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "nextCursor": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "500": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "503": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/v1/places/search": {
      "get": {
        "operationId": "searchPlaces",
        "summary": "Busca nombres de localidades",
        "tags": [
          "places"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "\\S"
            },
            "in": "query",
            "name": "q",
            "required": true
          },
          {
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "country"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "region"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "national_district"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "province"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "municipality"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "municipal_district"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "urban_zone"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "section"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "barrio"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "paraje"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "subbarrio"
                  ]
                }
              ]
            },
            "in": "query",
            "name": "kind",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
            },
            "in": "query",
            "name": "within",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "pattern": "\\S"
            },
            "in": "query",
            "name": "requiredScheme",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^dr_[A-Za-z0-9._-]+$"
            },
            "in": "query",
            "name": "release",
            "required": false
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "in": "query",
            "name": "limit",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "in": "query",
            "name": "cursor",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "catalog",
                    "places",
                    "nextCursor"
                  ],
                  "properties": {
                    "catalog": {
                      "type": "object",
                      "required": [
                        "releaseId",
                        "effectiveOn",
                        "knownThrough",
                        "releaseSha256",
                        "scope",
                        "qualityStatus",
                        "publishedAt",
                        "status"
                      ],
                      "properties": {
                        "releaseId": {
                          "type": "string",
                          "pattern": "^dr_[A-Za-z0-9._-]+$"
                        },
                        "effectiveOn": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "knownThrough": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "releaseSha256": {
                          "type": "string",
                          "pattern": "^[0-9a-f]{64}$"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "qualityStatus": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "verified"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "provisional"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "conflicted"
                              ]
                            }
                          ]
                        },
                        "publishedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "active"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "retained"
                              ]
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "places": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "name",
                          "kind",
                          "qualityStatus",
                          "ancestors",
                          "identifiers",
                          "sources",
                          "matchedName",
                          "matchKind"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                          },
                          "name": {
                            "type": "string"
                          },
                          "kind": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "country"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "region"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "national_district"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "province"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "municipality"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "municipal_district"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "urban_zone"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "section"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "barrio"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "paraje"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "subbarrio"
                                ]
                              }
                            ]
                          },
                          "qualityStatus": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "verified"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "provisional"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "conflicted"
                                ]
                              }
                            ]
                          },
                          "ancestors": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "id",
                                "name",
                                "kind",
                                "qualityStatus"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "kind": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "country"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "region"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "national_district"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "province"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "municipality"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "municipal_district"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "urban_zone"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "section"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "barrio"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "paraje"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "subbarrio"
                                      ]
                                    }
                                  ]
                                },
                                "qualityStatus": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "verified"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "provisional"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "conflicted"
                                      ]
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "identifiers": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "scheme",
                                "code"
                              ],
                              "properties": {
                                "scheme": {
                                  "type": "string"
                                },
                                "code": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "sources": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "namespace",
                                "artifactSha256"
                              ],
                              "properties": {
                                "namespace": {
                                  "type": "string"
                                },
                                "artifactSha256": {
                                  "type": "string",
                                  "pattern": "^[0-9a-f]{64}$"
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "matchedName": {
                            "type": "string"
                          },
                          "matchKind": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "exact"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "prefix"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "fuzzy"
                                ]
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "nextCursor": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "500": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "503": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/v1/places/resolve": {
      "get": {
        "operationId": "resolvePlaceIdentifier",
        "summary": "Resuelve un esquema y código exactos",
        "tags": [
          "places"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "\\S"
            },
            "in": "query",
            "name": "scheme",
            "required": true
          },
          {
            "schema": {
              "type": "string",
              "pattern": "\\S"
            },
            "in": "query",
            "name": "code",
            "required": true
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^dr_[A-Za-z0-9._-]+$"
            },
            "in": "query",
            "name": "release",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "catalog",
                    "matches"
                  ],
                  "properties": {
                    "catalog": {
                      "type": "object",
                      "required": [
                        "releaseId",
                        "effectiveOn",
                        "knownThrough",
                        "releaseSha256",
                        "scope",
                        "qualityStatus",
                        "publishedAt",
                        "status"
                      ],
                      "properties": {
                        "releaseId": {
                          "type": "string",
                          "pattern": "^dr_[A-Za-z0-9._-]+$"
                        },
                        "effectiveOn": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "knownThrough": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "releaseSha256": {
                          "type": "string",
                          "pattern": "^[0-9a-f]{64}$"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "qualityStatus": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "verified"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "provisional"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "conflicted"
                              ]
                            }
                          ]
                        },
                        "publishedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "active"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "retained"
                              ]
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "matches": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "name",
                          "kind",
                          "qualityStatus",
                          "ancestors",
                          "identifiers",
                          "sources"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                          },
                          "name": {
                            "type": "string"
                          },
                          "kind": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "country"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "region"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "national_district"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "province"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "municipality"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "municipal_district"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "urban_zone"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "section"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "barrio"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "paraje"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "subbarrio"
                                ]
                              }
                            ]
                          },
                          "qualityStatus": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "verified"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "provisional"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "conflicted"
                                ]
                              }
                            ]
                          },
                          "ancestors": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "id",
                                "name",
                                "kind",
                                "qualityStatus"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "kind": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "country"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "region"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "national_district"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "province"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "municipality"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "municipal_district"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "urban_zone"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "section"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "barrio"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "paraje"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "subbarrio"
                                      ]
                                    }
                                  ]
                                },
                                "qualityStatus": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "verified"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "provisional"
                                      ]
                                    },
                                    {
                                      "type": "string",
                                      "enum": [
                                        "conflicted"
                                      ]
                                    }
                                  ]
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "identifiers": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "scheme",
                                "code"
                              ],
                              "properties": {
                                "scheme": {
                                  "type": "string"
                                },
                                "code": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "sources": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "namespace",
                                "artifactSha256"
                              ],
                              "properties": {
                                "namespace": {
                                  "type": "string"
                                },
                                "artifactSha256": {
                                  "type": "string",
                                  "pattern": "^[0-9a-f]{64}$"
                                }
                              },
                              "additionalProperties": false
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "500": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "503": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/v1/places/{placeId}/provenance": {
      "get": {
        "operationId": "getPlaceProvenance",
        "summary": "Obtén las afirmaciones y los conflictos de las fuentes de un lugar",
        "tags": [
          "provenance"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^dr_[A-Za-z0-9._-]+$"
            },
            "in": "query",
            "name": "release",
            "required": false
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
            },
            "in": "path",
            "name": "placeId",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "catalog",
                    "provenance"
                  ],
                  "properties": {
                    "catalog": {
                      "type": "object",
                      "required": [
                        "releaseId",
                        "effectiveOn",
                        "knownThrough",
                        "releaseSha256",
                        "scope",
                        "qualityStatus",
                        "publishedAt",
                        "status"
                      ],
                      "properties": {
                        "releaseId": {
                          "type": "string",
                          "pattern": "^dr_[A-Za-z0-9._-]+$"
                        },
                        "effectiveOn": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "knownThrough": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "releaseSha256": {
                          "type": "string",
                          "pattern": "^[0-9a-f]{64}$"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "qualityStatus": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "verified"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "provisional"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "conflicted"
                              ]
                            }
                          ]
                        },
                        "publishedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string",
                              "enum": [
                                "active"
                              ]
                            },
                            {
                              "type": "string",
                              "enum": [
                                "retained"
                              ]
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "provenance": {
                      "type": "object",
                      "required": [
                        "placeId",
                        "releaseId",
                        "assertions",
                        "conflicts"
                      ],
                      "properties": {
                        "placeId": {
                          "type": "string",
                          "pattern": "^place_[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
                        },
                        "releaseId": {
                          "type": "string",
                          "pattern": "^dr_[A-Za-z0-9._-]+$"
                        },
                        "assertions": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "namespace",
                              "sourceUri",
                              "acquisitionUrl",
                              "finalUrl",
                              "observedHttpStatus",
                              "acquisitionAttempts",
                              "artifactSha256",
                              "sourceDate",
                              "effectiveFrom",
                              "knownThrough",
                              "publishedAt",
                              "retrievedAt",
                              "parserVersion",
                              "rightsStatus",
                              "recordKey",
                              "name",
                              "code",
                              "kind",
                              "parentKey",
                              "matchMethod",
                              "confidence",
                              "decision",
                              "rationale"
                            ],
                            "properties": {
                              "namespace": {
                                "type": "string"
                              },
                              "sourceUri": {
                                "type": "string"
                              },
                              "acquisitionUrl": {
                                "type": "string"
                              },
                              "finalUrl": {
                                "type": "string"
                              },
                              "observedHttpStatus": {
                                "type": "integer",
                                "minimum": 200,
                                "maximum": 299
                              },
                              "acquisitionAttempts": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "url",
                                    "outcome",
                                    "observedHttpStatus",
                                    "finalUrl",
                                    "failure"
                                  ],
                                  "properties": {
                                    "url": {
                                      "type": "string"
                                    },
                                    "outcome": {
                                      "anyOf": [
                                        {
                                          "type": "string",
                                          "enum": [
                                            "failed"
                                          ]
                                        },
                                        {
                                          "type": "string",
                                          "enum": [
                                            "fetched"
                                          ]
                                        }
                                      ]
                                    },
                                    "observedHttpStatus": {
                                      "anyOf": [
                                        {
                                          "type": "integer",
                                          "minimum": 100,
                                          "maximum": 599
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "finalUrl": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "failure": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    }
                                  },
                                  "additionalProperties": false
                                },
                                "minItems": 1
                              },
                              "artifactSha256": {
                                "type": "string",
                                "pattern": "^[0-9a-f]{64}$"
                              },
                              "sourceDate": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "effectiveFrom": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "knownThrough": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "publishedAt": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "retrievedAt": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "parserVersion": {
                                "type": "string"
                              },
                              "rightsStatus": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "unresolved"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "permitted"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "scope_limited"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "enum": [
                                      "restricted"
                                    ]
                                  }
                                ]
                              },
                              "recordKey": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "code": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "kind": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "parentKey": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "matchMethod": {
                                "type": "string"
                              },
                              "confidence": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              },
                              "decision": {
                                "type": "string"
                              },
                              "rationale": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "conflicts": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "conflictKey",
                              "summary"
                            ],
                            "properties": {
                              "conflictKey": {
                                "type": "string"
                              },
                              "summary": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "500": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          },
          "503": {
            "description": "Respuesta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "param",
                        "docUrl",
                        "requestId"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "param": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "docUrl": {
                          "type": "string",
                          "format": "uri-reference"
                        },
                        "requestId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "/"
    }
  ]
}