openapi: 3.0.3 info: title: HotelRunner Custom Apps REST Channels API description: The HotelRunner Custom Apps REST API lets a property's PMS or revenue management system connect to HotelRunner - retrieve room/rate configuration, push availability and rate updates, retrieve and acknowledge reservations, fire reservation state-change events, list connected sales channels, and read setup reference data. All Custom Apps endpoints require `token` and `hr_id` query-string credentials issued from the property's HotelRunner Partners extranet ("My Property" section, or a sandbox test property for PMS partners). HotelRunner can also push new and updated reservations to a partner-hosted HTTPS URL as a webhook (see the Realtime Push documentation) - this is not modeled as an OpenAPI path because HotelRunner is the caller, not the server, for that flow. Endpoints and fields below are transcribed from HotelRunner's public developer docs at developers.hotelrunner.com; fields not explicitly shown in an example response are marked as modeled/inferred in comments where relevant. version: v2 contact: name: HotelRunner url: https://developers.hotelrunner.com/ servers: - url: https://app.hotelrunner.com/api/v2/apps description: Custom Apps REST API (production) - url: https://app.hotelrunner.com description: Public reference/services data endpoints security: - tokenAuth: [] tags: - name: Channels description: Connected OTA / sales channel status. paths: /infos/connected_channels: get: operationId: listConnectedChannels tags: - Channels summary: List connected channels description: Returns all OTA / sales channels connected to the property along with counts of in-progress, succeeded, and failed distribution updates for each channel. parameters: - $ref: '#/components/parameters/Token' - $ref: '#/components/parameters/HrId' responses: '200': description: Connected channel list. content: application/json: schema: type: object properties: channels: type: array items: $ref: '#/components/schemas/Channel' '401': $ref: '#/components/responses/Unauthorized' components: schemas: Channel: type: object properties: name: type: string code: type: string in_progress: type: integer succeeded: type: integer failed: type: integer StatusResult: type: object properties: status: type: string enum: - ok - error message: type: string responses: Unauthorized: description: Missing or invalid token/hr_id. content: application/json: schema: $ref: '#/components/schemas/StatusResult' parameters: Token: name: token in: query required: true description: Authentication token for the property. schema: type: string HrId: name: hr_id in: query required: true description: HotelRunner property identifier. schema: type: string securitySchemes: tokenAuth: type: apiKey in: query name: token description: API token issued in the property's HotelRunner Partners extranet ("My Property" section) or PMS sandbox account. Always sent together with the hr_id query parameter identifying the property.