@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Honeycode
@base http://honeycode.{region}.amazonaws.com
@version 2020-03-01
@auth ApiKey Authorization in header
@endpoints 15
@toc workbooks(11), screendata(1), tags(3)

@group workbooks
@endpoint POST /workbooks/{workbookId}/tables/{tableId}/rows/batchcreate
@required {workbookId: str, tableId: str, rowsToCreate: [map{batchItemId!: any, cellsToCreate!: any}]}
@optional {clientRequestToken: str}
@returns(200) {workbookCursor: any, createdRows: any, failedBatchItems: any}
@errors {480, 481, 482, 483, 484, 485, 486, 487}

@endpoint POST /workbooks/{workbookId}/tables/{tableId}/rows/batchdelete
@required {workbookId: str, tableId: str, rowIds: [str]}
@optional {clientRequestToken: str}
@returns(200) {workbookCursor: any, failedBatchItems: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endpoint POST /workbooks/{workbookId}/tables/{tableId}/rows/batchupdate
@required {workbookId: str, tableId: str, rowsToUpdate: [map{rowId!: any, cellsToUpdate!: any}]}
@optional {clientRequestToken: str}
@returns(200) {workbookCursor: any, failedBatchItems: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endpoint POST /workbooks/{workbookId}/tables/{tableId}/rows/batchupsert
@required {workbookId: str, tableId: str, rowsToUpsert: [map{batchItemId!: any, filter!: any, cellsToUpdate!: any}]}
@optional {clientRequestToken: str}
@returns(200) {rows: any, workbookCursor: any, failedBatchItems: any}
@errors {480, 481, 482, 483, 484, 485, 486, 487}

@endpoint GET /workbooks/{workbookId}/tables/{tableId}/import/{jobId}
@required {workbookId: str, tableId: str, jobId: str}
@returns(200) {jobStatus: any, message: any, jobMetadata: any, errorCode: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endgroup

@group screendata
@endpoint POST /screendata
@required {workbookId: str, appId: str, screenId: str}
@optional {variables: map, maxResults: int, nextToken: str}
@returns(200) {results: any, workbookCursor: any, nextToken: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endgroup

@group workbooks
@endpoint POST /workbooks/{workbookId}/apps/{appId}/screens/{screenId}/automations/{automationId}
@required {workbookId: str, appId: str, screenId: str, automationId: str}
@optional {variables: map, rowId: str, clientRequestToken: str}
@returns(200) {workbookCursor: any}
@errors {480, 481, 482, 483, 484, 485, 486, 487, 488, 489}

@endpoint GET /workbooks/{workbookId}/tables/{tableId}/columns
@required {workbookId: str, tableId: str}
@optional {nextToken: str}
@returns(200) {tableColumns: any, nextToken: any, workbookCursor: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endpoint POST /workbooks/{workbookId}/tables/{tableId}/rows/list
@required {workbookId: str, tableId: str}
@optional {maxResults: str, nextToken: str, rowIds: [str], maxResults: int, nextToken: str}
@returns(200) {columnIds: any, rows: any, rowIdsNotFound: any, nextToken: any, workbookCursor: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endpoint GET /workbooks/{workbookId}/tables
@required {workbookId: str}
@optional {maxResults: int, nextToken: str}
@returns(200) {tables: any, nextToken: any, workbookCursor: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endgroup

@group tags
@endpoint GET /tags/{resourceArn}
@required {resourceArn: str}
@returns(200) {tags: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endpoint POST /tags/{resourceArn}
@required {resourceArn: str, tags: map}
@returns(200)
@errors {480, 481, 482, 483, 484, 485, 486}

@endgroup

@group workbooks
@endpoint POST /workbooks/{workbookId}/tables/{tableId}/rows/query
@required {workbookId: str, tableId: str, filterFormula: map{formula: any, contextRowId: any}}
@optional {maxResults: str, nextToken: str, maxResults: int, nextToken: str}
@returns(200) {columnIds: any, rows: any, nextToken: any, workbookCursor: any}
@errors {480, 481, 482, 483, 484, 485, 486}

@endpoint POST /workbooks/{workbookId}/tables/{tableId}/import
@required {workbookId: str, tableId: str, dataSource: map{dataSourceConfig: any}, dataFormat: str, importOptions: map{destinationOptions: any, delimitedTextOptions: any}, clientRequestToken: str}
@returns(200) {jobId: any, jobStatus: any}
@errors {480, 481, 482, 483, 484, 485, 486, 487}

@endgroup

@group tags
@endpoint DELETE /tags/{resourceArn}#tagKeys
@required {resourceArn: str, tagKeys: [str]}
@returns(200)
@errors {480, 481, 482, 483, 484, 485, 486}

@endgroup

@end
