Update the status of a backfill. Currently, the only supported operation is cancelling a backfill by setting status to "CANCELLED".
What happens when you cancel:
- Backfill status is changed to "CANCELLED"
- All pending/queued transfer runs associated with this backfill are cancelled
- Transfer runs that are already running will complete
- The backfill's
end_timeis set to the cancellation time - The
removed_timeandremoved_user_idfields are set
Important: This endpoint does NOT delete the backfill.
- The backfill record remains in the system with status "CANCELLED"
- You can still retrieve the backfill information using GET /v1/teams//backfills/
Returns: The updated backfill object with the new status and updated timestamps.
Important Notes:
- The backfill must exist and belong to your team
- Requires scope
dwh_transfers_write - Your account must have
dwh.transfer.editpermission. See roles and permissions. - Only backfills with incomplete status (CREATED, SCHEDULED, RUNNING, FAILED) can be cancelled
- Returns 404 if the backfill does not exist or does not belong to your team
- Returns 422 if the backfill cannot be updated (e.g., already in a final state)
Bearer token authentication. Include the token in the Authorization header:
Authorization: Bearer <your-token>
ID of the team
Unique identifier of the backfill
Status update parameters
{
"status": "CANCELLED"
}New status for the backfill. Currently only "CANCELLED" is supported.
Backfill status successfully updated
{
"meta": {
"request_id": "01892A4D-7586-7000-8000-000000000000"
},
"data": {
"transfer_backfill_id": 12345,
"transfer_id": 456789,
"range_start_date": "2024-01-01",
"range_end_date": "2024-01-31",
"created_time": "2024-02-01T09:00:00Z",
"created_user_id": 789,
"removed_time": "2024-02-01T15:30:00Z",
"removed_user_id": 790,
"start_time": "2024-02-01T10:00:00Z",
"end_time": "2024-02-01T15:30:00Z",
"status": "CANCELLED",
"transfer_runs_total": 31,
"transfer_runs_created": 31,
"transfer_runs_completed": 25,
"transfer_runs_failed": 2,
"error_report": []
}
}Metadata included in every API response.
Unique identifier for the request, for tracking and debugging.
Unique identifier of the backfill
ID of the transfer this backfill belongs to
Start date of the backfill range
End date of the backfill range
Timestamp when the backfill was created (ISO 8601 format)
ID of the user who created the backfill
Timestamp when the backfill was cancelled/removed (ISO 8601 format)
ID of the user who cancelled/removed the backfill
Timestamp when the backfill processing started (ISO 8601 format)
Timestamp when the backfill processing completed (ISO 8601 format)
Current status of the backfill
Total number of transfer runs created for this backfill
Number of transfer runs that have been created
Number of transfer runs that have completed successfully
Number of transfer runs that have failed
List of errors that occurred during backfill processing (empty array if no errors)
The date of the transfer run that failed
Error message describing what went wrong
Bad request - invalid parameters
{
"meta": {
"request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
},
"error": {
"code": "BAD_REQUEST",
"message": "The request was invalid."
}
}Standard envelope returned by all error (4xx/5xx) responses.
Metadata included in every API response.
Unique identifier for the request, for tracking and debugging.
Machine- and human-readable detail for a failed request.
Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.
Short, human-readable summary of the error.
Optional longer explanation specific to this occurrence.
Unauthorized
{
"meta": {
"request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
},
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required."
}
}Standard envelope returned by all error (4xx/5xx) responses.
Metadata included in every API response.
Unique identifier for the request, for tracking and debugging.
Machine- and human-readable detail for a failed request.
Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.
Short, human-readable summary of the error.
Optional longer explanation specific to this occurrence.
Access forbidden
{
"meta": {
"request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
},
"error": {
"code": "FORBIDDEN",
"message": "You do not have access to this resource."
}
}Standard envelope returned by all error (4xx/5xx) responses.
Metadata included in every API response.
Unique identifier for the request, for tracking and debugging.
Machine- and human-readable detail for a failed request.
Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.
Short, human-readable summary of the error.
Optional longer explanation specific to this occurrence.
Resource not found
{
"meta": {
"request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
},
"error": {
"code": "NOT_FOUND",
"message": "The requested resource was not found."
}
}Standard envelope returned by all error (4xx/5xx) responses.
Metadata included in every API response.
Unique identifier for the request, for tracking and debugging.
Machine- and human-readable detail for a failed request.
Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.
Short, human-readable summary of the error.
Optional longer explanation specific to this occurrence.
Unprocessable Entity - validation failed for the request parameters
{
"meta": {
"request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
},
"error": {
"code": "UNPROCESSABLE_ENTITY",
"message": "Validation failed for the request parameters."
}
}Standard envelope returned by all error (4xx/5xx) responses.
Metadata included in every API response.
Unique identifier for the request, for tracking and debugging.
Machine- and human-readable detail for a failed request.
Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.
Short, human-readable summary of the error.
Optional longer explanation specific to this occurrence.
Too Many Requests
{
"meta": {
"request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
},
"error": {
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry later."
}
}Standard envelope returned by all error (4xx/5xx) responses.
Metadata included in every API response.
Unique identifier for the request, for tracking and debugging.
Machine- and human-readable detail for a failed request.
Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.
Short, human-readable summary of the error.
Optional longer explanation specific to this occurrence.
Internal server error
{
"meta": {
"request_id": "BXaEFVtjc7TXaJxgZhmFgSUD9edqq_CN"
},
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred."
}
}Standard envelope returned by all error (4xx/5xx) responses.
Metadata included in every API response.
Unique identifier for the request, for tracking and debugging.
Machine- and human-readable detail for a failed request.
Stable, screaming-snake-case identifier for the error condition. Clients should branch on this, not on message. Common values include BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, CONFLICT_ERROR, PERMISSION_ERROR, UNPROCESSABLE_ENTITY, UNPROCESSABLE_CONTENT, TOO_MANY_REQUESTS, INTERNAL_SERVER_ERROR, DUPLICATION_FAILED, SERVICE_UNAVAILABLE; domains may define additional codes.
Short, human-readable summary of the error.
Optional longer explanation specific to this occurrence.