Skip to content

Bulk Modify Recurring Blocks

Update all occurrences of a recurring block identified by its block_identifier. Use this to change the schedule of an entire recurring series (e.g., shift all weekly meetings by an hour) rather than editing each occurrence individually.

Endpoint

POST /v1/doctor-block/bulk-modify/{blockIdentifier}

Path Parameters

Parameter Type Required Description
blockIdentifier string Yes UUID shared by all occurrences of the recurring block

Query Parameters

Parameter Type Required Description
doctor_id integer Yes Doctor ID owning the recurring block
clinic_id integer Yes Clinic ID the block belongs to

Request Body

Provide the updated fields for all occurrences. Fields not included are left unchanged.

Parameter Type Required Description
starts_at string (datetime) No Updated start datetime template (UTC)
ends_at string (datetime) No Updated end datetime template (UTC)
block_reason string No Updated reason code (see Block Reason Values)
slot_start_time string No Updated slot start time (HH:mm)
slot_end_time string No Updated slot end time (HH:mm)
recurrence_frequency string No Updated recurrence pattern
days_of_occurrence array No Updated weekday integers
interval_count integer No Updated interval
comments string No Updated note

Request

curl --location '{base_url}/v1/doctor-block/bulk-modify/uuid-abc-123?doctor_id=485195&clinic_id=44' \
  --header 'Authorization: Bearer JWT_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "slot_start_time": "13:00",
    "slot_end_time": "14:00",
    "comments": "Staff meeting moved to afternoon"
  }'

Response

Success Response

Code: 200 OK

Returns all updated block occurrences.

{
  "code": 2000,
  "data": [
    {
      "doctor_blocking_schedule_id": 10046,
      "doctor_id": 485195,
      "clinic_id": 44,
      "block_reason": "STAFF_MEETING",
      "slot_start_time": "13:00",
      "slot_end_time": "14:00",
      "block_date": "2025-07-28",
      "recurrence_frequency": "WEEKLY",
      "block_identifier": "uuid-abc-123",
      "block_status": "ACTIVE",
      "comments": "Staff meeting moved to afternoon"
    }
  ],
  "message": "Success"
}

Error Response

Code: 400 Bad Request

{
  "code": 4000,
  "message": "Block not found",
  "data": null
}

Notes

  • The block_identifier is returned when creating a recurring block via Add Block Time.
  • This endpoint modifies all future occurrences across the entire series; it does not apply retroactively to past occurrences.