openapi: 3.1.0 info: title: Hostaway Webhooks API description: | Manage unified webhooks for Hostaway events: reservation created, reservation updated, and new message received. Webhooks may also be configured through the dashboard at https://dashboard.hostaway.com/settings/integrations. Failed deliveries are retried up to 3 times before a failure notification is emailed. version: '1.0.0' contact: name: Hostaway Support email: support@hostaway.com url: https://api.hostaway.com/documentation servers: - url: https://api.hostaway.com/v1 description: Production API security: - OAuth2ClientCredentials: [] tags: - name: Webhooks description: Unified event webhooks paths: /webhooks/unifiedWebhooks: get: summary: Hostaway List Unified Webhooks operationId: listUnifiedWebhooks tags: - Webhooks responses: '200': description: Webhooks collection content: application/json: schema: $ref: '#/components/schemas/WebhookListResponse' post: summary: Hostaway Create Unified Webhook operationId: createUnifiedWebhook tags: - Webhooks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookInput' responses: '200': description: Webhook created content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' /webhooks/unifiedWebhooks/{webhookId}: parameters: - name: webhookId in: path required: true schema: type: integer get: summary: Hostaway Get Unified Webhook operationId: getUnifiedWebhook tags: - Webhooks responses: '200': description: Webhook content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' put: summary: Hostaway Update Unified Webhook operationId: updateUnifiedWebhook tags: - Webhooks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookInput' responses: '200': description: Webhook updated content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' delete: summary: Hostaway Delete Unified Webhook operationId: deleteUnifiedWebhook tags: - Webhooks responses: '200': description: Webhook deleted content: application/json: schema: $ref: '#/components/schemas/StandardResponse' components: securitySchemes: OAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: https://api.hostaway.com/v1/accessTokens scopes: general: General API access scope schemas: StandardResponse: type: object properties: status: type: string enum: [success, fail] result: type: object WebhookInput: type: object required: - url properties: url: type: string format: uri login: type: string description: Optional basic-auth username Hostaway sends with webhook password: type: string description: Optional basic-auth password Hostaway sends with webhook alertingEmailAddress: type: string format: email description: Recipient for delivery-failure notifications isEnabled: type: integer enum: [0, 1] Webhook: allOf: - $ref: '#/components/schemas/WebhookInput' - type: object properties: id: type: integer insertedOn: type: string format: date-time WebhookResponse: type: object properties: status: type: string result: $ref: '#/components/schemas/Webhook' WebhookListResponse: type: object properties: status: type: string result: type: array items: $ref: '#/components/schemas/Webhook'