# Set calling hours (/docs/api-reference/bulk-calls/setBulkCallDailyTimeControl)

> Restrict a campaign to a daily calling window, in the campaign's timezone. Outside the window the campaign holds rather than finishing, and resumes the next day.

**PUT** `/calls/bulk_call/{bulk_call_id}/daily-time-control`

Restrict a campaign to a daily calling window, in the campaign's
timezone. Outside the window the campaign holds rather than finishing,
and resumes the next day.

```yaml
operationId: setBulkCallDailyTimeControl
parameters:
  - in: path
    name: bulk_call_id
    required: true
    schema:
      type: integer
    description: Id of the bulk call campaign.
requestBody:
  required: true
  content:
    application/json:
      schema:
        type: object
        required:
          - enable_daily_hard_stop
          - enable_daily_auto_start
        properties:
          enable_daily_hard_stop:
            type: boolean
            example: true
            description: Stop dialing at `daily_stop_time` each day.
          daily_stop_time:
            type: number
            example: 18
            description: |
              Hour of day to stop, 0 to 23. Fractions are allowed, so
              `17.5` is 17:30. Required when the hard stop is on.
          daily_stop_timezone:
            type: string
            example: Asia/Kolkata
            description: Timezone for the stop time.
          enable_daily_auto_start:
            type: boolean
            example: true
            description: Resume dialing at `daily_start_time` each day.
          daily_start_time:
            type: number
            example: 9
            description: |
              Hour of day to resume, 0 to 23. Required when auto start
              is on.
          daily_start_timezone:
            type: string
            example: Asia/Kolkata
            description: Timezone for the start time.
responses:
  '200':
    description: Updated calling window.
    content:
      application/json:
        schema:
          type: object
          properties:
            status:
              type: string
            message:
              type: string
        example:
          status: success
          message: Daily time control updated
```

**cURL**

```bash
curl -X PUT "https://backend.omnidim.io/api/v1/calls/bulk_call/314/daily-time-control" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "enable_daily_auto_start": true,
    "daily_start_time": 9,
    "daily_start_timezone": "Asia/Kolkata",
    "enable_daily_hard_stop": true,
    "daily_stop_time": 18,
    "daily_stop_timezone": "Asia/Kolkata"
  }'
```

**curl**

```bash
curl -X PUT "https://omnidim.io/api/v1/calls/bulk_call/{bulk_call_id}/daily-time-control" \
  -H "Authorization: Bearer $OMNIDIM_API_KEY"
```