Redeam's Channel Management endpoints allows operators to manage their product distribution through Redeam's sales channels.

Redeam's Change Notification endpoints allows operators to request a targeted refresh of Redeam's cached product schema from the operator's booking system. Requests are processed first-in, first-out (FIFO), and may take several minutes to complete.

Server
https://operator.sandbox.redeam.io/v2

Sandbox Development Environment

https://operator.redeam.io/v2

Production

Server Variables
apiKey ApiKeyAuth

Fields
KeyIn
X-API-KeyHeader

Fields
KeyIn
X-API-SecretHeader

Returns a list of sales channels

This endpoint returns a list of sales channels and identifiers available to the authenticated user.

Auth
GET /channels
Copy
Responses
200

Returns a list of channels.

objectobject
channelsarray[object]
iduuid

The sales channel's unique identifier.

namestring

The sales channel's name.

companyNamestring

The name of the company associated with the sales channel.

Response
Copy

Returns a list of channel bindings

Returns a list of channel bindings for productId. Each binding will associate one or more product optionIds with a given sales channel.

Options that are bound to a given sales channel are said to be distributed through the channel and will potentially receive bookings from the channel.

Auth
Path Params
supplierIdstring

Identifier of the Supplier, unique to the Operator's Booking System.

productIdstring

Identifier of the Product, unique within the Supplier.

GET /suppliers/{supplierId}/products/{productId}/bindings
Copy
Responses
200

Returns an envelope with an array of channel bindings.

objectobject
bindingsarray[object]
channelIduuid

The sales channel's unique identifier.

channelNamestring

The sales channel's name.

optionIdsarray[string]

One or more option IDs bound to the sales channel given by channelId.

productIdstring

The ID of the parent product of the given optionIds.

productNamestring

the name of the product given by productId.

supplierIdstring

The ID of parent supplier of the given productId.

supplierNamestring

the name of the supplier given by supplierId.

Response
Copy

Returns a channel binding

Returns the sales channel bindings the channel given by channelId.

Auth
GET /suppliers/{supplierId}/products/{productId}/bindings/{channelId}
Copy
Responses
200

Returns a channel binding.

objectobject
bindingobject
channelIduuid

The sales channel's unique identifier.

channelNamestring

The sales channel's name.

optionIdsarray[string]

One or more option IDs bound to the sales channel given by channelId.

productIdstring

The ID of the parent product of the given optionIds.

productNamestring

the name of the product given by productId.

supplierIdstring

The ID of parent supplier of the given productId.

supplierNamestring

the name of the supplier given by supplierId.

Response
Copy

Upserts a channel binding

This endpoint either inserts a new a sales channel binding between a product and a sales channel, or updates an existing bindings.

NOTE: Updating an existing channel binding replaces its current state with the requested state; it does NOT append the requested state to the current state.

Auth
Request Body

The options IDs to be channel-bound to the given sales channel.

objectobject
optionIdsarray[string]

A list of option identifiers belonging to the requested supplier and product, to be bound against the requested channel.

PUT /suppliers/{supplierId}/products/{productId}/bindings/{channelId}
Copy
Responses
200

Returns a channel binding.

objectobject
bindingobject
channelIduuid

The sales channel's unique identifier.

channelNamestring

The sales channel's name.

optionIdsarray[string]

One or more option IDs bound to the sales channel given by channelId.

productIdstring

The ID of the parent product of the given optionIds.

productNamestring

the name of the product given by productId.

supplierIdstring

The ID of parent supplier of the given productId.

supplierNamestring

the name of the supplier given by supplierId.

Response
Copy

Deletes a channel binding

Removes the association between a product, its options, and a sales channel.

Auth
DELETE /suppliers/{supplierId}/products/{productId}/bindings/{channelId}
Copy
Responses
204

The binding was successfully deleted.

No response body
Response
Copy

Change Notifications

Push product schema changes to Redeam

List all submitted change notifications.

Provides a list of all previously submitted change notifications.

Auth
Query String
limitinteger

Maximum number of results to return

offsetinteger

The number of results to skip (starting from the first result) in the return

Combined with limit, this may be used to page results through multiple requests.

requestIdstring

Identifier of the notification request, returned upon creation.

supplierIdstring

Only return notifications requested for this supplier.

productIdstring

Only return notifications requested for this product.

modestring

Only return notifications in the specified mode.

Enum: any,standard,price-schedule

Default: any

statusstring

Only return notifications currently in this status.

Enum: WAITING,WORKING,SUCCEEDED,FAILED,PARTIAL_FAILURE

GET /notifications
Copy
Responses
200

List of change notification requests

401

The server was unable to authenticate the user with the provided credentials.

403

The request was attempted without authentication credentials. Unauthenticated access to this endpoint is forbidden.

500

A server error occurred while processing the request.

Response
Copy

Submit a catalog change notification.

Issues a change notification to Redeam, performing an immediate poll of the operator's booking system for a given Supplier and Product, including the next 365 days of availabilities if no date range is supplied

Auth
Query String
supplierIdstring

Identifier of the Supplier, unique to the Operator's Booking System.

productIdstring

Identifier of the Product, unique within the Supplier.

startDatestring

If provided, availability requests for this change notification will begin on this date (YYYY-MM-DD), inclusive. It is an error to use this parameter without specifying a valid endDate. Overrides the default 90-day period.

endDatestring

Availability requests for this change notification will end on this date (YYYY-MM-DD), exclusive. It is an error to use this parameter without specifying a valid startDate. Overrides the default 90-day period.

POST /notifications
Copy
Responses
201

The details and current status of the newly created or requested change notification request.

400

One or more of the request parameters are missing or invalid.

401

The server was unable to authenticate the user with the provided credentials.

403

The request was attempted without authentication credentials. Unauthenticated access to this endpoint is forbidden.

500

A server error occurred while processing the request.

Response
Copy

Submit a price schedule change notification

Issues a request for Redeam to pull and re-cache the latest available information from the partner's price-schedule endpoint.

Auth
Query String
supplierIdstring

Identifier of the Supplier, unique to the Operator's Booking System.

productIdstring

Identifier of the Product, unique within the Supplier.

startDatestring

Starting date for the requested price schedule change. If not provided, or left blank, defaults to today's date.

endDatestring

Ending date for the requested price schedule change. If not provided, or left blank, defaults to one year after the startDate.

POST /notifications/price-schedule
Copy
Responses
201

The details and current status of the newly created or requested change notification request.

401

The server was unable to authenticate the user with the provided credentials.

403

The request was attempted without authentication credentials. Unauthenticated access to this endpoint is forbidden.

500

A server error occurred while processing the request.

Response
Copy

Fetch a change notification.

Returns the details and current status of a specific change notification request.

Auth
Path Params
requestIdstring

Identifier of the change notification to retrieve.

GET /notifications/{requestId}
Copy
Responses
200

The details and current status of the newly created or requested change notification request.

401

The server was unable to authenticate the user with the provided credentials.

403

The request was attempted without authentication credentials. Unauthenticated access to this endpoint is forbidden.

404

The requested resource could not be located.

500

A server error occurred while processing the request.

Response
Copy

Cron Reports

For full OBS syncronizations which are triggered automatically by Redeam at regular intervals, these endpoints report on when the run finished, and any errors that occurred.

Full OBS syncronizations pull in all current supplier, product, and availability data from the partner's Operating Booking System. Price schedule data is not synced; price schedule change notifications are required to pull up-to-date price schedule information.

Fetches a list of error reports.

Enumerates a truncated version of all error reports from the past 60 days for the user within the provided parameters.

Truncated reports do not contain errors; only identifiers and associated metadata. To access the errors inside of a report record, use the GET /cron/reports/{id} endpoint.

Auth
GET /cron/reports
Copy
Responses
200

A list of cron reports.

arrayarray[object]
idinteger

Unique, numeric identifier of this record.

inserteddate-time

Date-time representing the moment this record was created.

externalSystemIDstring

The unique identifier of the external system this record belongs to.

errorCountinteger

The number of errors this record contains. Zero errors means the report ran without producing any errors.

400

Client parameters failed validation.

500

An internal error has occurred.

Response
Copy

Fetches an error report by its identifier.

Endpoint returns the full error report, including all associated errors. Records which do not include an errorReport field did not produce any errors.

Auth
GET /cron/reports/{id}
Copy
Responses
200

Returns the record identified by id.

objectobject
errorReportarray

Each element of this array is a distinct error that occurred during the full OBS synchronization.

idinteger

Unique, numeric identifier of this record.

inserteddate-time

Date-time representing the moment this record was created.

externalSystemIDstring

The unique identifier of the external system this record belongs to.

errorCountinteger

The number of errors this record contains. Zero errors means the report ran without producing any errors.

400

The provided id is not a valid, positive integer.

404

The requested record was not found.

500

An internal error has occurred.

Response
Copy