{"openapi":"3.0.3","info":{"title":"Salon Aproape · API public de citire","version":"1.1","description":"Saloane și specialiști beauty din România: anunțurile lor și prețurile puse de furnizori, „deschis acum”, „liber azi”, oferte, joburi. Doar citire, fără cheie, cel mult 60 de cereri pe minut pe IP, răspunsuri în cache 60 s. Fără date de contact: trimite utilizatorul pe „url”. Reguli: https://salonaproape.ro/pentru-dezvoltatori-si-ai","termsOfService":"https://salonaproape.ro/pentru-dezvoltatori-si-ai","contact":{"url":"https://salonaproape.ro/contact"}},"servers":[{"url":"https://salonaproape.ro"}],"paths":{"/api/v1/cauta":{"get":{"summary":"Căutare în limbaj natural sau cu filtre","parameters":[{"name":"q","in":"query","description":"Text liber, de exemplu „frizerie deschisă acum oradea”","schema":{"type":"string"}},{"name":"categorie","in":"query","description":"Slugul categoriei","schema":{"type":"string"}},{"name":"judet","in":"query","description":"Slugul județului","schema":{"type":"string"}},{"name":"oras","in":"query","description":"Slugul orașului","schema":{"type":"string"}},{"name":"tip","in":"query","description":"salon sau pfa","schema":{"type":"string"}},{"name":"verificat","in":"query","description":"1 = doar verificați","schema":{"type":"string"}},{"name":"azi","in":"query","description":"1 = liber azi","schema":{"type":"string"}},{"name":"deschis","in":"query","description":"1 = deschis acum","schema":{"type":"string"}},{"name":"page","in":"query","description":"Pagina","schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Cel mult 50","schema":{"type":"integer"}}],"responses":{"200":{"description":"Anunțurile potrivite + cum a fost înțeleasă căutarea","content":{"application/json":{"schema":{"type":"object","properties":{"interpretare":{"type":"object"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Listing"}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"total_pages":{"type":"integer"}}}}}}}}}}},"/api/v1/listings":{"get":{"summary":"Anunțurile active","parameters":[{"name":"category","in":"query","description":"Slugul categoriei","schema":{"type":"string"}},{"name":"county","in":"query","description":"Slugul județului","schema":{"type":"string"}},{"name":"page","in":"query","description":"Pagina","schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Cel mult 100","schema":{"type":"integer"}}],"responses":{"200":{"description":"Lista","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Listing"}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"total_pages":{"type":"integer"}}}}}}}}}}},"/api/v1/listings/{slug}":{"get":{"summary":"Un anunț","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Anunțul","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Listing"}}}}}},"404":{"description":"Nu există"}}}},"/api/v1/salons":{"get":{"summary":"Saloane","parameters":[{"name":"county","in":"query","description":"Slugul județului","schema":{"type":"string"}}],"responses":{"200":{"description":"Lista (cel mult 200)","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Provider"}}}}}}}}}},"/api/v1/salons/{slug}":{"get":{"summary":"Un salon","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Salonul","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Provider"}}}}}}}}},"/api/v1/pfa":{"get":{"summary":"Specialiști independenți","responses":{"200":{"description":"Lista (cel mult 200)","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Provider"}}}}}}}}}},"/api/v1/pfa/{slug}":{"get":{"summary":"Un specialist","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Specialistul","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Provider"}}}}}}}}},"/api/v1/joburi":{"get":{"summary":"Angajări și posturi de închiriat","parameters":[{"name":"tip","in":"query","description":"angajare sau post","schema":{"type":"string"}},{"name":"judet","in":"query","description":"Slugul județului","schema":{"type":"string"}},{"name":"oras","in":"query","description":"Slugul orașului","schema":{"type":"string"}}],"responses":{"200":{"description":"Lista","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}}}}},"/api/v1/categories":{"get":{"summary":"Categorii","responses":{"200":{"description":"Arborele categoriilor","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}}}}}}}}}},"/api/v1/counties":{"get":{"summary":"Județe","responses":{"200":{"description":"Lista","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}}}}}}}}}},"/api/v1/cities/{countySlug}":{"get":{"summary":"Orașele unui județ","parameters":[{"name":"countySlug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Lista","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}}}}}}}}}},"/api/v1/health":{"get":{"summary":"Starea serviciului","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"Listing":{"type":"object","properties":{"id":{"type":"integer"},"slug":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"price":{"type":"integer","nullable":true},"price_text":{"type":"string"},"price_type":{"type":"string","enum":["fixed","from","poa"]},"oferta":{"type":"object","nullable":true},"category":{"type":"string"},"county":{"type":"string"},"city":{"type":"string"},"liber_azi":{"type":"object","nullable":true},"provider":{"$ref":"#/components/schemas/ProviderScurt"},"image":{"type":"string","nullable":true}}},"ProviderScurt":{"type":"object","properties":{"type":{"type":"string","enum":["salon","pfa"]},"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"verified":{"type":"boolean"},"rating":{"type":"number","nullable":true},"review_count":{"type":"integer"},"deschis_acum":{"type":"boolean","nullable":true},"stare":{"type":"string","nullable":true}}},"Provider":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"integer"},"slug":{"type":"string"},"url":{"type":"string"},"name":{"type":"string"},"bio":{"type":"string","nullable":true},"county":{"type":"string"},"city":{"type":"string"},"address_line":{"type":"string","nullable":true},"verified":{"type":"boolean"},"listing_count":{"type":"integer"},"program":{"type":"object","nullable":true},"deschis_acum":{"type":"boolean","nullable":true},"stare":{"type":"string","nullable":true},"image":{"type":"string","nullable":true}}},"Job":{"type":"object","properties":{"id":{"type":"integer"},"slug":{"type":"string"},"url":{"type":"string"},"tip":{"type":"string","enum":["angajare","post"]},"titlu":{"type":"string"},"descriere":{"type":"string"},"meserie":{"type":"string","nullable":true},"program":{"type":"object","nullable":true},"salariu":{"type":"string","nullable":true},"county":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"expira_la":{"type":"string"},"provider":{"type":"object"}}}}}}