---
title: "Membuat Jadwal Rapat"
method: POST
path: "/schedules"
tags: ["Create Schedules"]
---

# Membuat Jadwal Rapat

`POST /schedules`

Untuk jadwal 1 kali atau 1 tanggal, `recurring` = **false**.

Jika `recurring` = **true**, maka parameter **WAJIB**:
- `recurrence` (1=Harian, 2=Mingguan, 3=Bulanan)
- `repeat_interval`
- `end_type` (`end_date` atau `end_after_type`)

Parameter **kondisional**:
- Untuk `recurrence` = `2` (Mingguan) sertakan `weekly_days`.
- Untuk `recurrence` = `3` (Bulanan) pilih salah satu:
  `monthly_day` atau `monthly_week`.
- Jika `end_type` = `end_date`: sertakan `end_date`.
- Jika `end_type` = `end_after_type`: sertakan `end_after_type`.

## Headers

- `Content-Type` string, required
- `Authorization` string, required

## Request body

- union
  - object
    - `product_id` integer, required — ID produk untuk kapasitas peserta: - 1 = 100 peserta - 2 = 300 peserta - 3 = 500 peserta - 4 = 1000 peserta
    - `topic` string, required — Judul/topik meeting
    - `passcode` string, required — Kode sandi rapat
    - `start_date` string, date, required — Tanggal pelaksanaan (YYYY-MM-DD)
    - `start_time` string, required — Jam pelaksanaan (format 24 jam, HH:MM)
    - `recurring` false, required — Harus false untuk one-time schedule
    - `is_auto_recording` boolean — Mengaktifkan fitur otomatis memulai merekam Cloud saat ruang rapat dipakai
    - `is_meeting_registration` boolean — Apakah membutuhkan registrasi peserta.
    - `is_meeting_qna` boolean — Mengatur aktif tidaknya fitur QnA di dalam ruang Zoom.
    - `is_language_interpretation` boolean — Aktifkan fitur juru bahasa (language interpretation).
    - `is_mute_participant_upon_entry` boolean — Mute otomatis saat peserta masuk.
    - `is_req_permission_to_unmute_participants` boolean — Peserta membutuhkan izin host untuk melakukan unmute.
  - object
    - `product_id` integer, required — ID produk untuk kapasitas peserta: - 1 = 100 peserta - 2 = 300 peserta - 3 = 500 peserta - 4 = 1000 peserta
    - `topic` string, required — Judul/topik meeting
    - `passcode` string, required — Kode sandi rapat
    - `start_date` string, date, required — Tanggal pelaksanaan (YYYY-MM-DD)
    - `start_time` string, required — Jam pelaksanaan (format 24 jam, HH:MM)
    - `recurring` true, required — Harus true untuk recurring meeting
    - `recurrence` 1 | 2 | 3, required — Jenis pengulangan: - 1 = Harian - 2 = Mingguan - 3 = Bulanan
    - `repeat_interval` integer, required — Interval pengulangan. Harian max 99, Mingguan max 50, Bulanan max 10
    - `weekly_days` integer[] — Hanya untuk **recurrence** = **2** (Mingguan). - 1 = Sunday - 2 = Monday - 3 = Tuesday - 4 = Wednesday - 5 = Thursday - 6 = Friday - 7 = Saturday
    - `monthly_day` integer — Hanya untuk **recurrence** = **3** (Bulanan). Alternatif dari **monthly_week**.
    - `monthly_week` 1 | 2 | 3 | 4 | 5 — Hanya untuk **recurrence** = **3** (Bulanan). - 1 = First week - 2 = Second week - 3 = Third week - 4 = Fourth week - 5 = Last week
    - `end_type` 'end_date' | 'end_after_type', required — Cara berhenti: berdasarkan tanggal atau jumlah pengulangan.
    - `end_date` string, date — Wajib jika **end_type** = **end_date**.
    - `end_after_type` integer — Wajib jika **end_type** = **end_after_type** (jumlah pengulangan).
    - `is_auto_recording` boolean — Mengaktifkan fitur otomatis memulai merekam Cloud saat ruang rapat dipakai
    - `is_meeting_registration` boolean — Apakah membutuhkan registrasi peserta.
    - `is_meeting_qna` boolean — Mengatur aktif tidaknya fitur QnA di dalam ruang Zoom.
    - `is_language_interpretation` boolean — Aktifkan fitur juru bahasa (language interpretation).
    - `is_mute_participant_upon_entry` boolean — Mute otomatis saat peserta masuk.
    - `is_req_permission_to_unmute_participants` boolean — Peserta membutuhkan izin host untuk melakukan unmute.

## Response `201`

Schedule created successfully

- ScheduleSuccessResponse
  - `response` object
    - `status` string
    - `status_code` integer
    - `message` string
  - `data` object
    - `id` integer — ID jadwal
    - `topic` string
    - `passcode` string
    - `recurring` boolean
    - `start_date` string, date
    - `start_time` string
    - `meeting_id` integer
    - `occurence_id` string, nullable — ID pengulangan jika menggunakan recurring
    - `join_url` string — URL untuk bergabung/masuk ke ruang Zoom
    - `registration_url` string, nullable — Jika registrasi diaktifkan, URL pendaftaran peserta
    - `waiting_room` integer — Status ruang tunggu (1 = ditutup, 0 = dibuka)
    - `is_auto_recording` boolean
    - `is_meeting_registration` boolean
    - `is_meeting_qna` boolean
    - `is_language_interpretation` boolean
    - `is_mute_participant_upon_entry` boolean
    - `is_req_permission_to_unmute_participants` boolean
    - `editable` boolean — Apakah jadwal bisa diubah tanggal/jam-nya. Jika sudah digunakan, tidak bisa diubah.
    - `is_used` boolean — Apakah ruang Zoom pernah digunakan
    - `total_recurring` integer — Jumlah total kemunculan (recurring) yang dibuat
    - `custom_live_streaming` object
      - `stream_url` string, nullable
      - `stream_key` string, nullable
      - `live_stream_page_url` string, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `product` object
      - `id` integer
      - `name` string
      - `capacity` integer
    - `account` object
      - `id` integer
      - `name` string
    - `recurring_data` object — Rincian pengulangan (jika recurring).
      - `total_recurring` integer, nullable — Jumlah recurring yang dibuat
      - `recurrence` integer, nullable
      - `repeat_interval` integer, nullable
      - `monthly_day` integer, nullable
      - `monthly_week` integer, nullable
      - `weekly_days` integer[], nullable
      - `end_date` string, date, nullable
      - `end_after_type` integer, nullable
    - `occurrences` object[]
      - `id` integer
      - `occurence_id` string — ID pengulangan jika menggunakan recurring
      - `start_date` string, date
      - `start_time` string
      - `waiting_room` integer
      - `editable` boolean
      - `is_used` boolean

## Other responses

- `400` — Validation error
- `401` — Unauthorized (token tidak valid)
- `422` — Unprocessable Entity (kombinasi parameter tidak valid)

---

[API](https://skmtc.net/rapatin/apis/authentication.md) · [All operations](https://skmtc.net/rapatin/apis/authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rapatin/authentication/revisions/5aa22566f41f/schema)
