openapi: 3.2.0 info: title: Hostfully Photos API license: name: Apache 2.0 url: https://www.hostfully.com/ version: v3.0.1 servers: - url: https://sandbox-api.hostfully.com security: - JWT-Authentication: [] - Agency-API-key: [] tags: - name: Photos paths: /api/v3.3/photos/{photoUid}: put: tags: - Photos summary: Replace photo description: Completely replaces an existing photo. operationId: put_7 parameters: - name: photoUid in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PhotoUpdatingApi3Dto' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/PhotoApiResponseWrapper' delete: tags: - Photos summary: Delete photo description: Permanently removes a photo. operationId: delete_7 parameters: - name: photoUid in: path required: true schema: type: string responses: '200': description: OK patch: tags: - Photos summary: Update photo metadata description: Partially updates photo metadata operationId: patch_1 parameters: - name: photoUid in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PhotoUpdatingApi3Dto' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/PhotoApiResponseWrapper' /api/v3.3/photos: get: tags: - Photos summary: Get photos for single/multi-unit property description: Retrieves all photos associated with a property or hotel. Either propertyUid or hotelUid must be provided operationId: getAll_7 parameters: - name: propertyUid in: query required: false schema: type: string - name: hotelUid in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/PhotosApiResponseWrapper' post: tags: - Photos summary: Upload new photo description: Adds a new photo to a single/multi-unit property. Supports both property and hotel photo associations operationId: post_9 requestBody: content: application/json: schema: $ref: '#/components/schemas/PhotoAddingApi3Dto' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/PhotoApiResponseWrapper' delete: tags: - Photos summary: Delete multiple photos description: Batch operation to delete multiple photos at once by providing their UIDs operationId: deleteAll parameters: - name: photoUids in: query required: true schema: type: array items: type: string responses: '200': description: OK components: schemas: PhotoAddingApi3Dto: required: - description - displayOrder - url type: object properties: propertyUid: type: string hotelUid: type: string airbnbRoomId: type: string pmpRoomUid: type: string url: type: string description: type: string displayOrder: type: integer format: int32 Api3ResponseMetadata: type: object properties: count: type: integer format: int32 totalCount: type: integer format: int32 PhotoUpdatingApi3Dto: type: object properties: airbnbRoomId: type: string pmpRoomUid: type: string description: type: string displayOrder: type: integer format: int32 PhotoApi3Dto: type: object properties: uid: type: string description: type: string displayOrder: type: integer format: int32 airbnbRoomId: type: string pmpRoomUid: type: string propertyUid: type: string hotelUid: type: string originalImageUrl: type: string largeScaleImageUrl: type: string mediumScaleImageUrl: type: string largeThumbnailScaleImageUrl: type: string mediumThumbnailScaleImageUrl: type: string PhotoApiResponseWrapper: type: object properties: photo: $ref: '#/components/schemas/PhotoApi3Dto' PhotosApiResponseWrapper: type: object properties: photos: type: array items: $ref: '#/components/schemas/PhotoApi3Dto' _metadata: $ref: '#/components/schemas/Api3ResponseMetadata' securitySchemes: JWT-Authentication: type: apiKey description: OAuth Access Token name: Authorization in: header Agency-API-key: type: apiKey description: API Key name: X-HOSTFULLY-APIKEY in: header externalDocs: description: Hostfully Documentation url: https://dev.hostfully.com/v3.0/reference x-readme: explorer-enabled: true proxy-enabled: true