openapi: 3.2.0 info: title: Hostfully Messages 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: Messages paths: /api/v3.3/messages/{messageUid}/resend: post: tags: - Messages description: Resend failed message operationId: resendMessage parameters: - name: messageUid in: path required: true schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/MessagesApiResponseWrapperMessagesApi3_2ResponseDto' summary: Resend message x-summary-source: derived /api/v3.3/messages: get: tags: - Messages description: 'Retrieve messages with optional filters for agencyUid, threadUid, leadUid creation date, and pagination parameters (_limit, _cursor). Note: Either agencyUid, threadUid or leadUid must be provided.' operationId: findAllMessagesForAgency parameters: - name: agencyUid in: query required: false schema: type: string - name: threadUid in: query required: false schema: type: string - name: leadUid in: query required: false schema: type: string - name: createdAt in: query required: false schema: type: string format: date-time - name: _limit in: query required: false schema: type: integer format: int32 - name: _cursor in: query required: false schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/MessagesApiListOfResourcesResponseWrapperMessagesApi3_2ResponseDto' summary: Find all messages for agency x-summary-source: derived post: tags: - Messages description: Send message by threadUid or leadUid. Email or direct message accepted. To send a direct message, the lead must be from an available direct message channel (VRBO/Booking.com/AirBnb). operationId: createMessage requestBody: content: application/json: schema: $ref: '#/components/schemas/MessageCreationApi3_2Dto' required: true responses: '201': description: Created content: '*/*': schema: $ref: '#/components/schemas/MessagesApiResponseWrapperMessagesApi3_2ResponseDto' summary: Create message x-summary-source: derived /api/v3.3/messages/{messageUid}: get: tags: - Messages description: Retrieve message by uid operationId: findMessagesByUid parameters: - name: messageUid in: path required: true schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/MessagesApiResponseWrapperMessagesApi3_2ResponseDto' summary: Find messages by uid x-summary-source: derived components: schemas: MessageSavingContentApi3Dto: required: - text type: object properties: subject: type: string text: type: string MessageContentApi3Dto: required: - subject - text type: object properties: subject: type: string text: type: string Api3ResponseMetadata: type: object properties: count: type: integer format: int32 totalCount: type: integer format: int32 MessagesApi3_2ResponseDto: type: object properties: uid: type: string createdUtcDateTime: type: string format: date-time status: type: string enum: - CREATED - PENDING - SENT - FAILED type: type: string enum: - HOSTFULLY_PMP - AIRBNB - VRBO - BOOKING_COM - EMAIL - SMS - WHATSAPP senderType: type: string enum: - SYSTEM - AGENCY - GUEST - OWNER - UNKNOWN_AIRBNB_USER content: $ref: '#/components/schemas/MessageContentApi3Dto' threadUid: type: string attachments: type: array items: $ref: '#/components/schemas/MessageAttachmentApi3_2Dto' MessagesApiResponseWrapperMessagesApi3_2ResponseDto: type: object properties: message: $ref: '#/components/schemas/MessagesApi3_2ResponseDto' Api3ResponsePaging: type: object properties: _limit: type: integer format: int32 _nextCursor: type: string MessagesApiListOfResourcesResponseWrapperMessagesApi3_2ResponseDto: type: object properties: messages: type: array items: $ref: '#/components/schemas/MessagesApi3_2ResponseDto' _metadata: $ref: '#/components/schemas/Api3ResponseMetadata' _paging: $ref: '#/components/schemas/Api3ResponsePaging' MessageAttachmentApi3_2Dto: type: object properties: uid: type: string uri: type: string fileName: type: string contentType: type: string type: type: string enum: - IMAGE_JPEG - IMAGE_GIF - IMAGE_PNG - PDF - ZIP - CSV MessageCreationApi3_2Dto: required: - content - leadUid - type type: object properties: type: type: string enum: - EMAIL - DIRECT_MESSAGE content: $ref: '#/components/schemas/MessageSavingContentApi3Dto' leadUid: type: string threadUid: type: string 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