{"openapi":"3.1.0","info":{"title":"ATA Travel Public Discovery API","version":"1.0.0","description":"Read-only public endpoints for discovering ATA stays, buildings, property details, availability, and published pricing context. For agent-native workflows, quotes, traveler approval, and booking actions, use the MCP endpoint documented at https://atatravel.cloud/developers.","contact":{"name":"ATA developer support","email":"support@atatravel.cloud","url":"https://atatravel.cloud/contact"},"license":{"name":"Proprietary"}},"servers":[{"url":"https://api.atatravel.cloud","description":"ATA Travel production API"}],"externalDocs":{"description":"ATA developer documentation","url":"https://atatravel.cloud/developers"},"tags":[{"name":"Discovery","description":"Search ATA public inventory and discovery facets."},{"name":"Buildings","description":"Read published building and complex profiles."},{"name":"Properties","description":"Read published property details and indicative availability."},{"name":"Commercial","description":"Read ATA public platform pricing."}],"paths":{"/public/stays/discovery-context":{"get":{"operationId":"getPublicDiscoveryContext","summary":"Get live discovery facets","description":"Returns a compact summary of destinations, stay types, capacity, amenities, views, and suitability guidance currently available on ATA.","tags":["Discovery"],"responses":{"200":{"description":"Current public discovery context.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoveryContext"}}}},"429":{"description":"Search rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"The discovery context could not be generated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/stays/properties":{"get":{"operationId":"listPublicProperties","summary":"List public ATA properties","description":"Returns ATA-enabled properties, optionally filtered by text, city, building, token, or stay dates.","tags":["Discovery","Properties"],"parameters":[{"name":"q","in":"query","required":false,"description":"Free-text search across traveler-facing property fields.","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"City search term.","schema":{"type":"string"}},{"name":"building","in":"query","required":false,"description":"Published building slug.","schema":{"type":"string"}},{"name":"propertyToken","in":"query","required":false,"description":"Exact public property token.","schema":{"type":"string"}},{"name":"checkIn","in":"query","required":false,"description":"Optional check-in date. Use together with checkOut.","schema":{"type":"string","format":"date"}},{"name":"checkOut","in":"query","required":false,"description":"Optional check-out date. Use together with checkIn.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Matching public properties.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PropertySummary"}}}}},"429":{"description":"Search rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Properties could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/stays/discover":{"get":{"operationId":"discoverPublicStays","summary":"Discover map-ready ATA stays","description":"Returns property results, building-aware map markers, and result metadata for public discovery experiences.","tags":["Discovery"],"parameters":[{"name":"q","in":"query","required":false,"description":"Free-text property, location, or building search.","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"City search term.","schema":{"type":"string"}},{"name":"building","in":"query","required":false,"description":"Published building slug.","schema":{"type":"string"}},{"name":"propertyToken","in":"query","required":false,"description":"Exact public property token.","schema":{"type":"string"}},{"name":"checkIn","in":"query","required":false,"description":"Optional check-in date. Use together with checkOut.","schema":{"type":"string","format":"date"}},{"name":"checkOut","in":"query","required":false,"description":"Optional check-out date. Use together with checkIn.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Map-ready stay discovery results.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoveryResponse"}}}},"429":{"description":"Search rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Discovery results could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/stays/buildings":{"get":{"operationId":"listPublicBuildings","summary":"List published buildings","description":"Returns published ATA building and complex profiles with their public property counts.","tags":["Buildings"],"parameters":[{"name":"q","in":"query","required":false,"description":"Building, neighborhood, city, state, country, or description search.","schema":{"type":"string"}},{"name":"city","in":"query","required":false,"description":"City search term.","schema":{"type":"string"}}],"responses":{"200":{"description":"Published buildings.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BuildingSummary"}}}}},"429":{"description":"Search rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Buildings could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/stays/buildings/{slug}":{"get":{"operationId":"getPublicBuilding","summary":"Get a published building","description":"Returns a published building profile and its current ATA stays.","tags":["Buildings"],"parameters":[{"name":"slug","in":"path","required":true,"description":"Published building slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Building profile and stays.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildingStayResponse"}}}},"404":{"description":"Building not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Building details could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/stays/buildings/{slug}/stays":{"get":{"operationId":"listPublicBuildingStays","summary":"List stays in a published building","description":"Returns the building summary and its ATA stays, optionally filtered by availability dates.","tags":["Buildings","Properties"],"parameters":[{"name":"slug","in":"path","required":true,"description":"Published building slug.","schema":{"type":"string"}},{"name":"checkIn","in":"query","required":false,"description":"Optional check-in date. Use together with checkOut.","schema":{"type":"string","format":"date"}},{"name":"checkOut","in":"query","required":false,"description":"Optional check-out date. Use together with checkIn.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Building summary and matching stays.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildingStayResponse"}}}},"404":{"description":"Building not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Search rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Building stays could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/stays/properties/{publicToken}":{"get":{"operationId":"getPublicProperty","summary":"Get public property details","description":"Returns published property, room, rate-plan, amenity, policy, media, and direct-booking details.","tags":["Properties"],"parameters":[{"name":"publicToken","in":"path","required":true,"description":"ATA public property token.","schema":{"type":"string"}}],"responses":{"200":{"description":"Published property details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyDetail"}}}},"404":{"description":"Property not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Property details could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/stays/properties/{publicToken}/calendar":{"get":{"operationId":"getPublicPropertyCalendar","summary":"Get indicative property availability","description":"Returns an indicative availability and from-rate calendar. A roomId optionally narrows the response to one room.","tags":["Properties"],"parameters":[{"name":"publicToken","in":"path","required":true,"description":"ATA public property token.","schema":{"type":"string"}},{"name":"start","in":"query","required":false,"description":"First calendar date. Defaults to the property-local current date.","schema":{"type":"string","format":"date"}},{"name":"days","in":"query","required":false,"description":"Number of calendar days.","schema":{"type":"integer","minimum":1,"maximum":100,"default":42}},{"name":"adults","in":"query","required":false,"description":"Number of adult guests.","schema":{"type":"integer","minimum":1,"maximum":100,"default":2}},{"name":"children","in":"query","required":false,"description":"Number of child guests.","schema":{"type":"integer","minimum":0,"maximum":100,"default":0}},{"name":"roomId","in":"query","required":false,"description":"Optional room identifier.","schema":{"type":"string"}},{"name":"ratePlanId","in":"query","required":false,"description":"Optional rate-plan identifier.","schema":{"type":"string"}}],"responses":{"200":{"description":"Indicative availability calendar.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityCalendar"}}}},"400":{"description":"Invalid date or query parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Property or room not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Search rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Availability could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/pricing-catalog":{"get":{"operationId":"getPublicPricingCatalog","summary":"Get ATA platform pricing","description":"Returns the currently published ATA platform pricing catalog for property operators.","tags":["Commercial"],"responses":{"200":{"description":"Published platform pricing catalog.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"500":{"description":"Pricing could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Traveler- or developer-readable error message."},"code":{"type":"string","description":"Stable error code when available."}},"additionalProperties":true},"Image":{"oneOf":[{"type":"string","format":"uri"},{"type":"object","properties":{"url":{"type":"string","format":"uri"},"alt":{"type":["string","null"]}},"additionalProperties":true}]},"PropertySummary":{"type":"object","required":["id","publicToken","name","currency","images","roomsAvailable"],"properties":{"id":{"type":"string","format":"uuid"},"publicToken":{"type":"string"},"publicSlug":{"type":["string","null"]},"name":{"type":"string"},"description":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"country":{"type":["string","null"]},"currency":{"type":"string","minLength":3,"maxLength":3},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"}},"minNightlyPrice":{"type":["number","null"],"minimum":0},"roomsAvailable":{"type":"integer","minimum":0},"maxGuests":{"type":"integer","minimum":0},"publicUrl":{"type":"string","format":"uri"},"building":{"oneOf":[{"$ref":"#/components/schemas/BuildingSummary"},{"type":"null"}]}},"additionalProperties":true},"PropertyDetail":{"type":"object","required":["id","publicToken","name","currency","images","verified","rooms"],"properties":{"id":{"type":"string","format":"uuid"},"publicToken":{"type":"string"},"publicSlug":{"type":["string","null"]},"name":{"type":"string"},"description":{"type":["string","null"]},"address":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"country":{"type":["string","null"]},"zipCode":{"type":["string","null"]},"currency":{"type":"string","minLength":3,"maxLength":3},"timezone":{"type":["string","null"]},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"building":{"oneOf":[{"$ref":"#/components/schemas/BuildingSummary"},{"type":"null"}]},"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"}},"amenities":{"type":"array","items":{"type":"string"}},"importantInformation":{"type":["string","null"]},"verified":{"type":"boolean"},"rooms":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true},"BuildingSummary":{"type":"object","required":["id","slug","name"],"properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"name":{"type":"string"},"shortDescription":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"country":{"type":["string","null"]},"neighborhood":{"type":["string","null"]},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"propertyCount":{"type":"integer","minimum":0}},"additionalProperties":true},"BuildingStayResponse":{"type":"object","required":["building","stays"],"properties":{"building":{"$ref":"#/components/schemas/BuildingSummary"},"stays":{"type":"array","items":{"$ref":"#/components/schemas/PropertySummary"}}}},"CountedValue":{"type":"object","required":["value","count"],"properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":1}},"additionalProperties":false},"DiscoveryDestination":{"type":"object","required":["label","propertyCount"],"properties":{"city":{"type":["string","null"]},"state":{"type":["string","null"]},"country":{"type":["string","null"]},"label":{"type":"string"},"propertyCount":{"type":"integer","minimum":1}},"additionalProperties":false},"CapacityRange":{"type":"object","required":["minimum","maximum"],"properties":{"minimum":{"type":"integer","minimum":0},"maximum":{"type":"integer","minimum":0}},"additionalProperties":false},"DiscoveryContext":{"type":"object","description":"Live facets and guidance derived from ATA public inventory.","required":["generatedAt","totalProperties","destinations","propertyTypes","buildingTypes","capacity","amenities","views","suitabilityTags","bestFor","notIdealFor"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"totalProperties":{"type":"integer","minimum":0},"destinations":{"type":"array","items":{"$ref":"#/components/schemas/DiscoveryDestination"}},"propertyTypes":{"type":"array","items":{"$ref":"#/components/schemas/CountedValue"}},"buildingTypes":{"type":"array","items":{"$ref":"#/components/schemas/CountedValue"}},"capacity":{"oneOf":[{"$ref":"#/components/schemas/CapacityRange"},{"type":"null"}]},"amenities":{"type":"array","items":{"$ref":"#/components/schemas/CountedValue"}},"views":{"type":"array","items":{"$ref":"#/components/schemas/CountedValue"}},"suitabilityTags":{"type":"array","items":{"$ref":"#/components/schemas/CountedValue"}},"bestFor":{"type":"array","items":{"$ref":"#/components/schemas/CountedValue"}},"notIdealFor":{"type":"array","items":{"$ref":"#/components/schemas/CountedValue"}}},"additionalProperties":false},"DiscoveryResponse":{"type":"object","required":["properties","markers","metadata"],"properties":{"properties":{"type":"array","items":{"$ref":"#/components/schemas/PropertySummary"}},"markers":{"type":"array","items":{"type":"object","additionalProperties":true}},"metadata":{"type":"object","required":["resultCount","buildingGroupCount"],"properties":{"resultCount":{"type":"integer","minimum":0},"buildingGroupCount":{"type":"integer","minimum":0}}}}},"AvailabilityDay":{"type":"object","required":["date","available","availableUnits","currency"],"properties":{"date":{"type":"string","format":"date"},"available":{"type":"boolean"},"availableUnits":{"type":"integer","minimum":0},"totalUnits":{"type":"integer","minimum":0},"roomId":{"type":["string","null"]},"ratePlanId":{"type":["string","null"]},"price":{"type":["number","null"],"minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3},"minStay":{"type":["integer","null"],"minimum":1},"maxStay":{"type":["integer","null"],"minimum":1},"closedToArrival":{"type":"boolean"},"closedToDeparture":{"type":"boolean"},"stopSell":{"type":"boolean"}}},"AvailabilityCalendar":{"type":"object","required":["publicToken","scope","start","days","adults","children","dates"],"properties":{"publicToken":{"type":"string"},"scope":{"type":"string","enum":["property","room"]},"roomId":{"type":["string","null"]},"start":{"type":"string","format":"date"},"days":{"type":"integer","minimum":1,"maximum":100},"adults":{"type":"integer","minimum":1},"children":{"type":"integer","minimum":0},"dates":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityDay"}}}}}}}