{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://upwolf.com/dev/schema/Offer.json","title":"Offer detail","type":"object","properties":{"external_id":{"type":"string","description":"Same id as in the snapshot."},"version":{"type":"string","description":"Opaque content fingerprint. Changes whenever the offer content changes."},"name":{"type":"string","description":"Offer title. Becomes the headline of the creative."},"description":{"type":"string","description":"Plain text or HTML. Everything the ad copy is written from — the richer, the better the ad."},"status":{"type":"string","description":"Only `published` offers get a running campaign; `closed` pauses it within minutes.","enum":["published","pending","closed"]},"updated_at":{"type":"string","description":"When the offer last changed."},"company":{"type":"object","properties":{"name":{"type":"string","description":"Advertiser name. Appears in the creative and prefixes the ad copy."},"logo_url":{"type":"string","description":"Publicly reachable HTTPS image. Square or wide, at least 200 px."},"introduction":{"type":"string","description":"Short company blurb; gives the ad copy something to work with beyond the offer itself."},"logo_approved":{"type":"boolean","description":"Set false if the logo is unverified; we then keep it out of rendered creative."}},"required":["name"]},"area_id":{"type":"string","description":"Your category id for the offer. Any stable identifier from your own taxonomy."},"area_root_id":{"type":"string","description":"Root of your category tree for the same offer."},"locations":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","description":"City as you write it in the listing. We map it to ad platform ids ourselves. Send the array even when empty — that tells us \"remote\", not \"not implemented\"."}},"required":[]}},"language_code":{"type":"string","description":"Language of the content. Without it we detect the language from the text."},"salaries":{"type":"array","items":{"type":"object","properties":{"minimum":{"type":"integer","description":"Lower bound of the offered amount, in whole units of the currency."},"maximum":{"type":"integer","description":"Upper bound, when you publish a range."},"currency":{"type":"string","description":"Currency of the amount, e.g. `CZK`."},"measure":{"type":"string","description":"Period the amount applies to.","enum":["hour","day","month","year","once"]}},"required":[]}}},"required":["external_id","version","name","description","status","updated_at"]}