> For the complete documentation index, see [llms.txt](https://developer.siteminder.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.siteminder.com/direct-booking-api/reference/property/media.md).

# Media

Return detailed information for property media.

{% hint style="info" %}
**API:** Direct Booking · **Operation:** Property Media · **Direction:** SM → Property · **Method:** Pull (Property-initiated)
{% endhint %}

## Retrieve a property's media

> Retrieve every image a property has, grouped by where it's used: the property banner, property-level photos, the header and footer images used in guest communication emails, and room type and extra photos.\
> \
> \`sortOrder\` only appears on \`photos\`, and gives each photo's position in the gallery, starting at 1. A photo with no set position has \`sortOrder: null\`.\
> \
> \`roomTypes.photos\` and \`extras.photos\` list the photos used across the property's room types and extras, with duplicates removed — they aren't tied to a specific room type or extra.<br>

```json
{"openapi":"3.1.0","info":{"title":"Direct Booking API","version":"0.0.1"},"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-sm-api-key","in":"header"}},"schemas":{"PropertyMedia":{"type":"object","additionalProperties":false,"required":["banner","photos","guestCommunications","roomTypes","extras"],"properties":{"banner":{"type":"object","additionalProperties":false,"nullable":true,"required":["url"],"properties":{"url":{"type":"string","description":"Public URL of the photo"}}},"photos":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["url","caption","sortOrder"],"properties":{"url":{"type":"string","description":"Public URL of the photo"},"caption":{"type":"string","nullable":true,"description":"Caption for the photo, null when none is set"},"sortOrder":{"type":"integer","nullable":true,"minimum":1,"description":"1-based display order of the photo; null when the photo has no stored position"}}}},"guestCommunications":{"type":"object","additionalProperties":false,"required":["reservationConfirmation","reservationModification","reservationCancellation","preArrival","postDeparture"],"properties":{"reservationConfirmation":{"$ref":"#/paths/~1properties~1%7BpropertyUuid%7D~1media/get/responses/200/content/application~1json/schema/properties/guestCommunications/properties/preArrival"},"reservationModification":{"$ref":"#/paths/~1properties~1%7BpropertyUuid%7D~1media/get/responses/200/content/application~1json/schema/properties/guestCommunications/properties/preArrival"},"reservationCancellation":{"$ref":"#/paths/~1properties~1%7BpropertyUuid%7D~1media/get/responses/200/content/application~1json/schema/properties/guestCommunications/properties/preArrival"},"preArrival":{"type":"object","additionalProperties":false,"required":["header","footer"],"properties":{"header":{"$ref":"#/components/schemas/PropertyMedia/properties/banner"},"footer":{"$ref":"#/components/schemas/PropertyMedia/properties/banner"}}},"postDeparture":{"$ref":"#/paths/~1properties~1%7BpropertyUuid%7D~1media/get/responses/200/content/application~1json/schema/properties/guestCommunications/properties/preArrival"}}},"roomTypes":{"$ref":"#/components/schemas/PropertyMedia/properties/extras"},"extras":{"type":"object","additionalProperties":false,"required":["photos"],"properties":{"photos":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["url","caption"],"properties":{"url":{"type":"string","description":"Public URL of the photo"},"caption":{"type":"string","nullable":true,"description":"Caption for the photo, null when none is set"}}}}}}}}},"responses":{"NotAuthorised":{"description":"Not Authorised","headers":{"X-SM-TRACE-TOKEN":{"description":"SiteMinder trace token","schema":{"$ref":"#/components/responses/NotFound/headers/X-SM-TRACE-TOKEN/schema"}}},"content":{"application/json":{"schema":{"$ref":"#/components/responses/NotFound/content/application~1json/schema"}}}},"NotFound":{"description":"The specified resource was not found","headers":{"X-SM-TRACE-TOKEN":{"description":"SiteMinder trace token","schema":{"type":"string","description":"Character string with length 1 to 36 and with uuid format","minLength":1,"maxLength":36,"format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["message","name"],"properties":{"message":{"type":"string"},"name":{"type":"string"},"meta":{"type":"object","description":"Error metadata"}}}}}}}}},"AccessDenied":{"description":"Access Denied","headers":{"X-SM-TRACE-TOKEN":{"description":"SiteMinder trace token","schema":{"$ref":"#/components/responses/NotFound/headers/X-SM-TRACE-TOKEN/schema"}}},"content":{"application/json":{"schema":{"$ref":"#/components/responses/NotFound/content/application~1json/schema"}}}},"RateLimited":{"description":"Rate Limited","headers":{"X-SM-TRACE-TOKEN":{"description":"SiteMinder trace token","schema":{"$ref":"#/components/responses/NotFound/headers/X-SM-TRACE-TOKEN/schema"}}},"content":{"application/json":{"schema":{"$ref":"#/components/responses/NotFound/content/application~1json/schema"}}}},"InternalServerError":{"description":"Internal Server Error","headers":{"X-SM-TRACE-TOKEN":{"description":"SiteMinder trace token","schema":{"$ref":"#/components/responses/NotFound/headers/X-SM-TRACE-TOKEN/schema"}}},"content":{"application/json":{"schema":{"$ref":"#/components/responses/NotFound/content/application~1json/schema"}}}}},"parameters":{"apiKey":{"name":"x-sm-api-key","in":"header","schema":{"type":"string"},"required":true,"description":"API key used to authenticate the request."},"propertyUuid":{"in":"path","name":"propertyUuid","required":true,"schema":{"type":"string"},"description":"UUID for a property."}}},"paths":{"/properties/{propertyUuid}/media":{"get":{"tags":["property:read"],"operationId":"getPropertyMedia","summary":"Retrieve a property's media","description":"Retrieve every image a property has, grouped by where it's used: the property banner, property-level photos, the header and footer images used in guest communication emails, and room type and extra photos.\n\n`sortOrder` only appears on `photos`, and gives each photo's position in the gallery, starting at 1. A photo with no set position has `sortOrder: null`.\n\n`roomTypes.photos` and `extras.photos` list the photos used across the property's room types and extras, with duplicates removed — they aren't tied to a specific room type or extra.\n","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyMedia"}}}},"401":{"$ref":"#/components/responses/NotAuthorised"},"403":{"$ref":"#/components/responses/AccessDenied"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"$ref":"#/components/parameters/apiKey"},{"$ref":"#/components/parameters/propertyUuid"}]}}}}
```

{% hint style="success" icon="sparkles" %}

## Still have questions?

Use the <i class="fa-gitbook-assistant">:gitbook-assistant:</i> **Ask** button at the top of the page to chat with our AI assistant — it can help you navigate the guide, understand requirements, and troubleshoot issues.

If you need more support, visit [Integration Support](/integration-support/integration-support.md).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.siteminder.com/direct-booking-api/reference/property/media.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
