{"openapi":"3.1.0","info":{"title":"Imospot Partner API","version":"v1","description":"Publică și sincronizează anunțuri imobiliare din CRM-ul tău în Imospot.ro.","contact":{"email":"api@imospot.ro"}},"servers":[{"url":"https://www.imospot.ro/api/v1"}],"security":[{"bearerAuth":[]}],"paths":{"/listings":{"post":{"summary":"Publică un anunț (create/update, idempotent pe external_id)","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listing"}}}},"responses":{"201":{"description":"Anunț creat"},"200":{"description":"Anunț actualizat"},"401":{"description":"Cheie lipsă/invalidă"},"422":{"description":"Payload invalid"}}}},"/listings/{external_id}":{"put":{"summary":"Actualizează un anunț","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listing"}}}},"responses":{"200":{"description":"Actualizat"},"401":{"description":"Cheie invalidă"},"422":{"description":"Payload invalid"}},"parameters":[{"name":"external_id","in":"path","required":true,"schema":{"type":"string"},"description":"Id-ul din CRM-ul tău."}]},"delete":{"summary":"Retrage un anunț (SEO-safe)","parameters":[{"name":"external_id","in":"path","required":true,"schema":{"type":"string"},"description":"Id-ul din CRM-ul tău."}],"responses":{"200":{"description":"Retras"},"401":{"description":"Cheie invalidă"},"404":{"description":"external_id necunoscut"}}}},"/account":{"get":{"summary":"Verifică cheia + soldul de promovare","responses":{"200":{"description":"Info agenție"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Cheia agenției, dată de Imospot."}},"schemas":{"Listing":{"type":"object","required":["external_id","transaction","property_type","title","description","price","contact","location","images"],"properties":{"external_id":{"type":"string","example":"CRM-8842","description":"Id-ul din CRM-ul tău (cheie de deduplicare)."},"transaction":{"type":"string","enum":["sale","rent"]},"property_type":{"type":"string","enum":["apartment","house","land","commercial","warehouse"]},"title":{"type":"string","minLength":8},"description":{"type":"string","minLength":60},"price":{"type":"integer","minimum":1},"currency":{"type":"string","enum":["EUR","RON","USD"],"default":"EUR"},"exclusive":{"type":"boolean"},"zero_commission":{"type":"boolean"},"video_url":{"type":"string","description":"Link YouTube/Vimeo."},"contact":{"type":"object","required":["phone"],"properties":{"phone":{"type":"string"},"agent":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"}}}}},"location":{"type":"object","required":["county","city"],"properties":{"county":{"type":"string"},"city":{"type":"string"},"neighborhood":{"type":"string"},"street":{"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"}}},"attributes":{"type":"object","properties":{"rooms":{"type":"integer"},"bathrooms":{"type":"integer"},"surface":{"type":"integer","description":"Suprafață utilă/construită (mp)."},"land_surface":{"type":"integer","description":"Suprafață teren (mp)."},"floor":{"type":"integer"},"total_floors":{"type":"integer"},"year_built":{"type":"integer"},"comfort":{"type":"string","enum":["luxury","comfort_1","comfort_2","comfort_3"]},"layout":{"type":"string","enum":["detached","semi_detached","undetached","circular","wagon"]},"condition":{"type":"string","enum":["new","impeccable","good","renovated","needs_reno"]},"classification":{"type":"string","enum":["urban","rural","agricultural"],"description":"Doar pentru teren."},"heating":{"type":"string"},"energy_class":{"type":"string"},"utilities":{"type":"array","items":{"type":"string"}},"front":{"type":"number","description":"Deschidere stradală (m)."},"height":{"type":"number","description":"Înălțime (m) — comercial/hală."}}},"features":{"type":"array","items":{"type":"string"},"example":["parking","balcony","elevator"]},"images":{"type":"array","minItems":1,"items":{"type":"string","format":"uri"}},"promotion":{"type":"object","properties":{"product":{"type":"string","enum":["top","featured"]},"days":{"type":"integer","enum":[5,7,10]}}}}}}}}