@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS IoT Data Plane
@version 2015-05-28
@auth AWS SigV4
@endpoints 7
@toc things(3), retainedMessage(2), api(1), topics(1)

@group things
@endpoint DELETE /things/{thingName}/shadow
@required {thingName: str}
@optional {name: str}
@returns(200) {payload: bytes}

@endgroup

@group retainedMessage
@endpoint GET /retainedMessage/{topic}
@required {topic: str}
@returns(200) {topic: str?, payload: bytes?, qos: int?, lastModifiedTime: int(i64)?, userProperties: bytes?}

@endgroup

@group things
@endpoint GET /things/{thingName}/shadow
@required {thingName: str}
@optional {name: str}
@returns(200) {payload: bytes?}

@endgroup

@group api
@endpoint GET /api/things/shadow/ListNamedShadowsForThing/{thingName}
@required {thingName: str}
@optional {nextToken: str, pageSize: int}
@returns(200) {results: [str]?, nextToken: str?, timestamp: int(i64)?}

@endgroup

@group retainedMessage
@endpoint GET /retainedMessage
@optional {nextToken: str, maxResults: int}
@returns(200) {retainedTopics: [RetainedMessageSummary]?, nextToken: str?}

@endgroup

@group topics
@endpoint POST /topics/{topic}
@required {topic: str}
@optional {qos: int, retain: bool, x-amz-mqtt5-user-properties: str, x-amz-mqtt5-payload-format-indicator: str, contentType: str, responseTopic: str, x-amz-mqtt5-correlation-data: str, messageExpiry: int(i64), payload: bytes}

@endgroup

@group things
@endpoint POST /things/{thingName}/shadow
@required {thingName: str, payload: bytes}
@optional {name: str}
@returns(200) {payload: bytes?}

@endgroup

@end
