Dataset Status Transition
const url = 'http://localhost:3000/v2/datasets/status-transition';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"id":"api.datasets.status-transition","ver":"v2","ts":"2024-04-19T12:58:47+05:30","params":{"msgid":"4a7f14c3-d61e-4d4f-be78-181834eeff6"},"request":{"dataset_id":"telemetry-events","status":"ReadyToPublish"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:3000/v2/datasets/status-transition \ --header 'Content-Type: application/json' \ --data '{ "id": "api.datasets.status-transition", "ver": "v2", "ts": "2024-04-19T12:58:47+05:30", "params": { "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6" }, "request": { "dataset_id": "telemetry-events", "status": "ReadyToPublish" } }'This API allows you to perform status transition between 2 states. Allowed status transition are Draft to ReadyToPublish, ReadyToPublish to Live, Live to Retired and even Delete a dataset.
Request Body
Section titled “Request Body ”object
Example
{ "id": "api.datasets.status-transition", "ver": "v2", "ts": "2024-04-19T12:58:47+05:30", "params": { "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6" }, "request": { "dataset_id": "telemetry-events", "status": "ReadyToPublish" }}Responses
Section titled “ Responses ”OK
object
Examples
Delete success: Deleted dataset successfully
{ "id": "api.datasets.status-transition", "ver": "v2", "ts": "2024-05-30T12:18:54+05:30", "params": { "status": "SUCCESS", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "5948e784-37f9-4a70-85ca-86c9077ee30b" }, "responseCode": "OK", "result": { "message": "Dataset status transition to Delete successful", "dataset_id": "trip-data" }}Live success: Dataset published successfully
{ "id": "api.datasets.status", "ver": "v2", "ts": "2024-05-30T12:21:42+05:30", "params": { "status": "SUCCESS", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "88d62970-97be-472f-9ccc-67f875d69335" }, "responseCode": "OK", "result": { "message": "Dataset status transition to Live successful", "dataset_id": "telemetry_record" }}ReadyToPublish success: Dataset is ready to publish
{ "id": "api.datasets.status-transition", "ver": "v2", "ts": "2024-06-18T15:30:04+05:30", "params": { "status": "SUCCESS", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "84858e85-6a97-43cb-b8e9-17a7e0a43365" }, "responseCode": "OK", "result": { "message": "Dataset status transition to ReadyToPublish successful", "dataset_id": "telemetry-events" }}Retire success: Dataset retired successfully
{ "id": "api.datasets.status", "ver": "v2", "ts": "2024-05-30T12:22:58+05:30", "params": { "status": "SUCCESS", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "f2285754-7d5b-4320-943d-797fb136e955" }, "responseCode": "OK", "result": { "message": "Dataset status transition to Retire successful", "dataset_id": "sb-telemetry" }}Bad Request
object
Examples
Live failure: Dataset in draft state
{ "id": "api.datasets.status-transition", "ver": "v2", "ts": "2024-05-30T15:37:43+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "d56e2ed4-f008-48be-a501-164c19178419" }, "responseCode": "BAD_REQUEST", "error": { "code": "DATASET_LIVE_FAILURE", "message": "Transition failed for dataset: sb-telemetry2 status:Draft with status transition to Live", "trace": "" }}ReadyToPublish failure: Incomplete dataset configs
{ "id": "api.datasets.status-transition", "ver": "v2", "ts": "2024-06-18T15:36:16+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "a504565b-41ff-4c0f-9d64-f96df9ed89bb" }, "responseCode": "BAD_REQUEST", "error": { "code": "DATASET_CONFIGS_INVALID", "message": "#properties/denorm_config/properties/denorm_fields/items/required must have required property 'dataset_name'", "trace": "" }}ReadyToPublish failure: Dataset not in draft state
{ "id": "api.datasets.status-transition", "ver": "v2", "ts": "2024-06-18T15:38:14+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "351f5a37-87f0-47cd-bebe-e3c001256d0a" }, "responseCode": "BAD_REQUEST", "error": { "code": "DATASET_READYTOPUBLISH_FAILURE", "message": "Transition failed for dataset: telemetry-events status:Retired with status transition to ReadyToPublish", "trace": "" }}Retire Failure: Dataset is already retired
{ "id": "api.datasets.status", "ver": "v2", "ts": "2024-05-30T15:42:18+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "80208169-b1d3-41cd-816b-83fae96a4370" }, "responseCode": "BAD_REQUEST", "error": { "code": "DATASET_RETIRE_FAILURE", "message": "Transition failed for dataset: master-telemetrry status:Retired with status transition to Retire", "trace": "" }}Retire failure: Cannot retire master dataset as it is used by other datasets
{ "id": "api.datasets.status", "ver": "v2", "ts": "2024-05-30T16:01:41+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "b88c320a-2c01-4662-a509-bd532a612c05" }, "responseCode": "BAD_REQUEST", "error": { "code": "DATASET_IN_USE", "message": "Failed to retire dataset as it is in use. Please retire or delete dependent datasets before retiring this dataset", "trace": "" }}Failure: Invalid request payload provided
{ "id": "api.datasets.status", "ver": "v2", "ts": "2024-05-30T16:03:56+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "ba4c86bd-b438-4582-b178-2410a5c5dd15" }, "responseCode": "BAD_REQUEST", "error": { "code": "DATASET_STATUS_INVALID_INPUT", "message": "#properties/request/properties/status/enum should be equal to one of the allowed values", "trace": "" }}Not Found
object
Examples
Delete failure: Dataset not found to delete
{ "id": "api.datasets.status", "ver": "v2", "ts": "2024-05-30T12:25:36+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "3cdcf2af-c015-4977-9d66-364e00f1712b" }, "responseCode": "NOT_FOUND", "error": { "code": "DATASET_NOT_FOUND", "message": "Dataset not found for dataset: master", "trace": "" }}Live failure: Dataset not found to publish
{ "id": "api.datasets.status", "ver": "v2", "ts": "2024-05-30T15:35:59+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "427b3b1a-a0d2-4255-91d9-04ee4a1f0e3c" }, "responseCode": "NOT_FOUND", "error": { "code": "DATASET_NOT_FOUND", "message": "Dataset not found for dataset: telemetry-data", "trace": "" }}Retire Failure: Dataset not found to retire
{ "id": "api.datasets.status", "ver": "v2", "ts": "2024-05-30T15:40:31+05:30", "params": { "status": "FAILED", "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6", "resmsgid": "73befbbd-60e3-48e0-9cfd-cb705dfc2b85" }, "responseCode": "NOT_FOUND", "error": { "code": "DATASET_NOT_FOUND", "message": "Dataset not found for dataset: sb-telemetry2", "trace": "" }}