@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Kinesis Video Signaling Channels
@version 2019-12-04
@auth AWS SigV4
@endpoints 2
@toc get-ice-server-config(1), send-alexa-offer-to-master(1)

@group get-ice-server-config
@endpoint POST /v1/get-ice-server-config
@desc Gets the Interactive Connectivity Establishment (ICE) server configuration information, including URIs, username, and password which can be used to configure the WebRTC connection. The ICE component uses this configuration information to setup the WebRTC connection, including authenticating with the Traversal Using Relays around NAT (TURN) relay server.  TURN is a protocol that is used to improve the connectivity of peer-to-peer applications. By providing a cloud-based relay service, TURN ensures that a connection can be established even when one or more peers are incapable of a direct peer-to-peer connection. For more information, see A REST API For Access To TURN Services.  You can invoke this API to establish a fallback mechanism in case either of the peers is unable to establish a direct peer-to-peer connection over a signaling channel. You must specify either a signaling channel ARN or the client ID in order to invoke this API.
@required {ChannelARN: str}
@optional {ClientId: str, Service: str, Username: str}
@returns(200) {IceServerList: [IceServer]?}

@endgroup

@group send-alexa-offer-to-master
@endpoint POST /v1/send-alexa-offer-to-master
@desc This API allows you to connect WebRTC-enabled devices with Alexa display devices. When invoked, it sends the Alexa Session Description Protocol (SDP) offer to the master peer. The offer is delivered as soon as the master is connected to the specified signaling channel. This API returns the SDP answer from the connected master. If the master is not connected to the signaling channel, redelivery requests are made until the message expires.
@required {ChannelARN: str, SenderClientId: str, MessagePayload: str}
@returns(200) {Answer: str?}

@endgroup

@end
