'DELETE /api/tool_data/{id}
Removes an item from a data table
:type   id:     str
:param  id:     the id of the data table containing the item to delete
:type   kwd:    dict
:param  kwd:    (required) dictionary structure containing:
* payload:     a dictionary itself containing:
* values:   <TAB> separated list of column contents, there must be a value for all the columns of the data table'

@web.require_admin
@expose_api
def delete(self, trans, id, **kwd):

    decoded_tool_data_id = id
    try:
        data_table = trans.app.tool_data_tables.data_tables.get(decoded_tool_data_id)
    except:
        data_table = None
    if (not data_table):
        trans.response.status = 400
        return ('Invalid    data    table    id    (    %s    )    specified.' % str(decoded_tool_data_id))
    values = None
    if kwd.get('payload', None):
        values = kwd['payload'].get('values', '')
    if (not values):
        trans.response.status = 400
        return ('Invalid    data    table    item    (    %s    )    specified.' % str(values))
    split_values = values.split(' DCTB ')
    if (len(split_values) != len(data_table.get_column_name_list())):
        trans.response.status = 400
        return ('Invalid    data    table    item    (    %s    )    specified.    Wrong    number    of    columns    (%s    given,    %s    required).' % (str(values), str(len(split_values)), str(len(data_table.get_column_name_list()))))
    data_table.remove_entry(split_values)
    galaxy.queue_worker.send_control_task(trans.app, 'reload_tool_data_tables', noop_self=True, kwargs={'table_name': decoded_tool_data_id})
    return self._data_table(decoded_tool_data_id).to_dict(view='element')
