deleteDataset method
Deletes a dataset version or an entire dataset (all versions + name
claim). Asynchronous 202. State transitions: - If datasetVersion is
absent (full delete): status transitions to DELETING immediately. - If
datasetVersion is provided (version-specific delete): status transitions
to UPDATING. State guard (full delete): Returns ConflictException
(DATASET_NOT_READY) if the dataset status is in {CREATING, UPDATING}.
Deletion is allowed from ACTIVE, CREATE_FAILED, UPDATE_FAILED, and
DELETE_FAILED states. State guard (version-specific delete): Returns
ConflictException (DATASET_NOT_READY) if the dataset status is not in
{ACTIVE, CREATE_FAILED, UPDATE_FAILED}. Fails with ConflictException
(REFERENCED_BY_EVAL_JOB) if referenced by an active evaluation job (full
delete only). If the delete workflow fails after retries, status is set to
DELETE_FAILED (full delete) or UPDATE_FAILED (version-specific delete).
Calling DeleteDataset on a DELETE_FAILED dataset re-triggers the delete
workflow (idempotent retry path). Version parameter: - If
datasetVersion is absent: deletes ALL versions and the Dataset record
itself. - If datasetVersion is provided: deletes only that specific
DatasetVersion. Returns ResourceNotFoundException if the specified version
does not exist.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter datasetId :
The unique identifier of the dataset to delete.
Parameter datasetVersion :
Optional version to delete. Use "DRAFT" or omit to delete the draft.
Returns ResourceNotFoundException if the specified version does not exist.
Implementation
Future<DeleteDatasetResponse> deleteDataset({
required String datasetId,
String? datasetVersion,
}) async {
final $query = <String, List<String>>{
if (datasetVersion != null) 'datasetVersion': [datasetVersion],
};
final response = await _protocol.send(
payload: null,
method: 'DELETE',
requestUri: '/datasets/${Uri.encodeComponent(datasetId)}',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
return DeleteDatasetResponse.fromJson(response);
}