{"openapi":"3.1.0","info":{"title":"Equipaments de Barcelona","description":"API de només lectura dels equipaments municipals de Barcelona (biblioteques, centres cívics, CAP, poliesportius i escoles bressol). Dades d'Open Data BCN (CC-BY-4.0).","version":"1.0.0"},"servers":[{"url":"https://cercador-equipaments.apps.bcnsmart.com"}],"paths":{"/api/v1/metadades":{"get":{"summary":"Data de les dades, fonts i valors permesos","operationId":"metadades_api_v1_metadades_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadadesOut"}}}},"429":{"description":"Has fet massa peticions en poca estona. Espera un minut i torna-ho a provar. (el límit és de 300 peticions per minut i IP)","content":{"application/json":{"example":{"error":{"codi":"massa_peticions","missatge":"Has fet massa peticions en poca estona. Espera un minut i torna-ho a provar."}}}}}}}},"/api/v1/equipaments":{"get":{"summary":"Llista dels equipaments, per nom","operationId":"equipaments_api_v1_equipaments_get","parameters":[{"name":"tipus","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["biblioteca","centre_civic","cap","poliesportiu","escola_bressol"],"type":"string"}},{"type":"null"}],"description":"Filtra per tipus; es pot repetir (`?tipus=cap&tipus=biblioteca`).","title":"Tipus"},"description":"Filtra per tipus; es pot repetir (`?tipus=cap&tipus=biblioteca`)."},{"name":"nom","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"description":"Cerca per nom: tros del nom, sense importar majúscules, accents ni l'ordre de les paraules. També mira el nom del tipus (`cap guinardo`). Els millors resultats, primer. Fins a 100 caràcters.","title":"Nom"},"description":"Cerca per nom: tros del nom, sense importar majúscules, accents ni l'ordre de les paraules. També mira el nom del tipus (`cap guinardo`). Els millors resultats, primer. Fins a 100 caràcters."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LlistaOut"}}}},"429":{"description":"Has fet massa peticions en poca estona. Espera un minut i torna-ho a provar. (el límit és de 300 peticions per minut i IP)","content":{"application/json":{"example":{"error":{"codi":"massa_peticions","missatge":"Has fet massa peticions en poca estona. Espera un minut i torna-ho a provar."}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/equipaments/{id}":{"get":{"summary":"La fitxa d'un equipament","operationId":"fitxa_api_v1_equipaments__id__get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FitxaOut"}}}},"429":{"description":"Has fet massa peticions en poca estona. Espera un minut i torna-ho a provar. (el límit és de 300 peticions per minut i IP)","content":{"application/json":{"example":{"error":{"codi":"massa_peticions","missatge":"Has fet massa peticions en poca estona. Espera un minut i torna-ho a provar."}}}}},"404":{"description":"No existeix cap equipament amb aquest identificador."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cerques-a-prop":{"post":{"summary":"Equipaments a prop d'un punt, del més proper al més llunyà","operationId":"cerca_a_prop_api_v1_cerques_a_prop_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cerca"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CercaOut"}}}},"429":{"description":"Has fet massa peticions en poca estona. Espera un minut i torna-ho a provar. (el límit és de 300 peticions per minut i IP)","content":{"application/json":{"example":{"error":{"codi":"massa_peticions","missatge":"Has fet massa peticions en poca estona. Espera un minut i torna-ho a provar."}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AdrecaOut":{"properties":{"carrer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrer"},"numero":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Numero"},"codi_postal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codi Postal","description":"Cinc xifres, o `null`."},"barri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Barri"}},"type":"object","title":"AdrecaOut"},"Cerca":{"properties":{"lat":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Lat","description":"Latitud, en graus."},"lon":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Lon","description":"Longitud, en graus."},"radi_m":{"type":"integer","enum":[500,1000,2000],"title":"Radi M","description":"Radi de cerca, en metres: 500, 1000 o 2000."},"tipus":{"anyOf":[{"items":{"type":"string","enum":["biblioteca","centre_civic","cap","poliesportiu","escola_bressol"]},"type":"array"},{"type":"null"}],"title":"Tipus","description":"Tipus d'equipament. Sense aquest camp, tots; amb una llista buida, cap resultat."}},"additionalProperties":false,"type":"object","required":["lat","lon","radi_m"],"title":"Cerca"},"CercaOut":{"properties":{"total":{"type":"integer","title":"Total"},"resultats":{"items":{"$ref":"#/components/schemas/ResultatOut"},"type":"array","title":"Resultats"}},"type":"object","required":["total","resultats"],"title":"CercaOut"},"EquipamentOut":{"properties":{"id":{"type":"string","title":"Id","description":"Identificador de l'equipament a Open Data BCN."},"nom":{"type":"string","title":"Nom"},"tipus":{"type":"string","enum":["biblioteca","centre_civic","cap","poliesportiu","escola_bressol"],"title":"Tipus"},"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"}},"type":"object","required":["id","nom","tipus","lat","lon"],"title":"EquipamentOut"},"FilaHorariOut":{"properties":{"dies":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dies"},"hores":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hores"},"observacions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observacions"}},"type":"object","title":"FilaHorariOut"},"FitxaOut":{"properties":{"id":{"type":"string","title":"Id","description":"Identificador de l'equipament a Open Data BCN."},"nom":{"type":"string","title":"Nom"},"tipus":{"type":"string","enum":["biblioteca","centre_civic","cap","poliesportiu","escola_bressol"],"title":"Tipus"},"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"adreca":{"$ref":"#/components/schemas/AdrecaOut"},"horari":{"anyOf":[{"items":{"$ref":"#/components/schemas/GrupHorariOut"},"type":"array"},{"type":"null"}],"title":"Horari","description":"L'horari en text net, o `null` si no consta."},"telefons":{"items":{"$ref":"#/components/schemas/TelefonOut"},"type":"array","title":"Telefons"},"accessibilitat":{"type":"null","title":"Accessibilitat","description":"Sempre `null`: cap font de dades obertes en parla."},"com_arribar_url":{"type":"string","title":"Com Arribar Url","description":"Adreça de Google Maps amb l'equipament com a destí."}},"type":"object","required":["id","nom","tipus","lat","lon","adreca","telefons","com_arribar_url"],"title":"FitxaOut"},"FontOut":{"properties":{"nom":{"type":"string","title":"Nom"},"url":{"type":"string","title":"Url"},"llicencia":{"type":"string","title":"Llicencia"}},"type":"object","required":["nom","url","llicencia"],"title":"FontOut"},"GrupHorariOut":{"properties":{"periode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Periode"},"files":{"items":{"$ref":"#/components/schemas/FilaHorariOut"},"type":"array","title":"Files"}},"type":"object","required":["files"],"title":"GrupHorariOut"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LlistaOut":{"properties":{"total":{"type":"integer","title":"Total"},"equipaments":{"items":{"$ref":"#/components/schemas/EquipamentOut"},"type":"array","title":"Equipaments"}},"type":"object","required":["total","equipaments"],"title":"LlistaOut"},"MapaFonsOut":{"properties":{"url":{"type":"string","title":"Url"},"atribucio":{"type":"string","title":"Atribucio"}},"type":"object","required":["url","atribucio"],"title":"MapaFonsOut"},"MetadadesOut":{"properties":{"data_dades":{"type":"string","title":"Data Dades","description":"Dia (AAAA-MM-DD) de la baixada de les dades."},"fonts":{"items":{"$ref":"#/components/schemas/FontOut"},"type":"array","title":"Fonts"},"tipus":{"items":{"$ref":"#/components/schemas/TipusOut"},"type":"array","title":"Tipus"},"radis_m":{"items":{"type":"integer"},"type":"array","title":"Radis M"},"radi_inicial_m":{"type":"integer","title":"Radi Inicial M"},"mapa_fons":{"$ref":"#/components/schemas/MapaFonsOut"}},"type":"object","required":["data_dades","fonts","tipus","radis_m","radi_inicial_m","mapa_fons"],"title":"MetadadesOut"},"ResultatOut":{"properties":{"id":{"type":"string","title":"Id","description":"Identificador de l'equipament a Open Data BCN."},"nom":{"type":"string","title":"Nom"},"tipus":{"type":"string","enum":["biblioteca","centre_civic","cap","poliesportiu","escola_bressol"],"title":"Tipus"},"lat":{"type":"number","title":"Lat"},"lon":{"type":"number","title":"Lon"},"distancia_m":{"type":"integer","title":"Distancia M","description":"Distància en línia recta des del punt, en metres."}},"type":"object","required":["id","nom","tipus","lat","lon","distancia_m"],"title":"ResultatOut"},"TelefonOut":{"properties":{"text":{"type":"string","title":"Text"},"uri":{"type":"string","title":"Uri","description":"Enllaç `tel:` per trucar."}},"type":"object","required":["text","uri"],"title":"TelefonOut"},"TipusOut":{"properties":{"id":{"type":"string","enum":["biblioteca","centre_civic","cap","poliesportiu","escola_bressol"],"title":"Id"},"nom":{"type":"string","title":"Nom"}},"type":"object","required":["id","nom"],"title":"TipusOut"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}