@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Smartphone Test Farm
@version 2.3.0
@auth ApiKey authorization in header
@endpoints 10
@toc user(8), devices(2)

@group user
@endpoint GET /user
@desc User Profile
@returns(200) Current User Profile information

@endpoint GET /user/devices
@desc User Devices
@optional {fields: any # Fields query parameter takes a comma seperated list of fields. Only listed field will be return in response}
@returns(200) Current User Devices List

@endpoint POST /user/devices
@desc Add a device to a user
@required {device: any # Device to add}
@returns(200) Add User Device Status

@endpoint GET /user/devices/{serial}
@desc User Device
@required {serial: any # Device Serial}
@optional {fields: any # Fields query parameter takes a comma seperated list of fields. Only listed field will be return in response}
@returns(200) Device Information owned by user

@endpoint DELETE /user/devices/{serial}
@desc Delete User Device
@required {serial: any # Device Serial}
@returns(200) Delete User Device Status

@endpoint POST /user/devices/{serial}/remoteConnect
@desc Remote Connect
@required {serial: any # Device Serial}
@returns(200) Remote Connect User Device Request Status

@endpoint DELETE /user/devices/{serial}/remoteConnect
@desc Remote Disconnect
@required {serial: any # Device Serial}
@returns(200) Remote Disonnect User Device Request Status

@endpoint GET /user/accessTokens
@desc Access Tokens
@returns(200) Access Tokens titles

@endgroup

@group devices
@endpoint GET /devices
@desc Device List
@optional {fields: any # Fields query parameter takes a comma seperated list of fields. Only listed field will be return in response}
@returns(200) List of Devices

@endpoint GET /devices/{serial}
@desc Device Information
@required {serial: any # Device Serial}
@optional {fields: any # Fields query parameter takes a comma seperated list of fields. Only listed field will be return in response}
@returns(200) Device Information

@endgroup

@end
