# Get the current scan schedule Retrieves the current scan schedule along with a summary of the last scan. ## Endpoint `GET /bsp/api/v1/bmp/devices/scan/schedule` ## Request URL `https://`[*{serverurl}*](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)`/bsp/api/v1/bmp/devices/scan/schedule` ## Scope `DesktopCentralCloud.BrowserManager.READ` ## Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Accept** (string, Mandatory): `application/json` ## Sample Request ```curl curl --request GET \ --url https://appdomains/bsp/api/v1/bmp/devices/scan/schedule \ --header 'Accept: application/json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP 200 Response body: `application/json` **JSON Object** Scan schedule configuration. Returned by both GET and PUT `/devices/scan/schedule`. Field set varies by scheduletype: Daily includes dailytime + dailyintervaltype; Weekly includes weeklytime + daysofweek; Monthly includes monthlytime + monthslist + monthlyperform + monthlyweeknum + monthlyweekday. - **schedulerdisabled** (boolean): `true` = schedule is currently disabled (no scans will run automatically); `false` = schedule is active. - **scheduletype** (string): Current schedule frequency. One of: `Daily`, `Weekly`, `Monthly`. - **scheduletypeextratext** (string): Human-readable summary of the schedule. Daily: interval label (for example, `alternativeDays`). Weekly: weekday short name (for example, `Wed`). Monthly: comma-separated month short names (for example, `Feb, Apr, Sep, Oct`). - **tasktimezone** (string): IANA timezone ID for which the schedule times are evaluated (for example, `Asia/Calcutta`). - **currentdatetime** (string): Current server date-time (RFC 1123 format). - **nextruntime** (string): Next scheduled scan execution time (RFC 1123 format). - **starttimetext** (string): Formatted start-time label shown in UI. - **starttimeextratext** (string): Additional context for start time (Monthly schedules only, for example, `during First Friday of selected Months`). - **dailytime** (string): [Daily only] Configured start date-time for daily schedule (for example, `04/15/2026, 09:30`). - **dailyintervaltype** (string): [Daily only] Daily interval mode. One of: `everyDay`, `alternativeDays`, `weekDays`. - **weeklytime** (string): [Weekly only] Configured time-of-day for weekly schedule (`HH:mm`, 24h). - **daysofweek** (string): [Weekly only] Comma-separated day-of-week numbers (`1=Sun`, `2=Mon`, `3=Tue`, `4=Wed`, `5=Thu`, `6=Fri`, `7=Sat`). - **monthlytime** (string): [Monthly only] Configured time-of-day for monthly schedule (`HH:mm`, 24h). - **monthslist** (string): [Monthly only] Comma-separated month numbers (`1=Jan` … `12=Dec`). - **monthlyperform** (string): [Monthly only] How the day is selected within each month. One of: `Day` (specific date), `WeekDay` (Nth weekday). - **monthlyweeknum** (string): [Monthly only, when `monthlyperform=WeekDay`] Which week of the month (`1=First` … `4=Fourth`, `5=Last`). - **monthlyweekday** (string): [Monthly only, when `monthlyperform=WeekDay`] Day-of-week (`1=Sun` … `7=Sat`). - **last_schedule_details** (JSON Object): Summary of the last executed scan: `scan_initiated`, `in_progress`, `success`, failed device counts. ### HTTP 401 Response body: `application/json` **JSON Object** - **errorCode** (long): Unauthorized error code returned when authentication credentials are missing, expired, or invalid (`authentication=required`). - **errorMsg** (string): Authentication failure reason. ### HTTP 403 Response body: `application/json` **JSON Object** - **errorCode** (long): Forbidden error code returned when the authenticated user does not have the required uem-roles (for example, `DataEncryption_Admin` or `DataEncryptionRecoveryKey_Admin`). - **errorMsg** (string): Message indicating insufficient privileges to access this resource. ### HTTP 429 Response body: `application/json` **JSON Object** - **errorCode** (long): Rate limit error code returned when the API call threshold (configured via threshold/duration in security XML) is exceeded; client is locked out for lock-period minutes. - **errorMsg** (string): Rate limit exceeded message with retry guidance. ### HTTP 500 Response body: `application/json` **JSON Object** Internal server error during device operations. - **error_description** (string): Message describing the server-side failure. - **error_code** (string): Internal server error code. ## Response Examples ### HTTP 200 — Daily Schedule Daily schedule config. ```json { "dailytime": "04/14/2026, 08:47", "tasktimezone": "Asia/Calcutta", "last_schedule_details": { "scan_initiated": "0", "in_progress": "1", "success": "0", "failed": "0" }, "scheduletype": "Daily", "dailyintervaltype": "alternativeDays", "currentdatetime": "Wed, 08 Apr 2026 08:51:26 AM", "scheduletypeextratext": "alternativeDays", "schedulerdisabled": false, "nextruntime": "Tue, 14 Apr 2026 08:47:00 AM", "starttimetext": "Tue, 14 Apr 2026 08:47:00 AM", "starttimeextratext": "" } ``` ### HTTP 401 Unauthorized. ```json { "errorCode": "UNAUTHORIZED", "errorMsg": "You are not authorized to perform this action" } ``` ### HTTP 403 Forbidden. ```json { "errorCode": "FORBIDDEN", "errorMsg": "You do not have permission to access this resource" } ``` ### HTTP 429 Rate limit exceeded. ```json { "errorCode": "RATE_LIMIT_EXCEEDED", "errorMsg": "You have exceeded the maximum number of API calls. Please try again later." } ``` ### HTTP 500 Server error. ```json { "error_description": "Internal Server error, Please try again in a moment.", "error_code": "COM0004" } ``` ## Rate Limiting ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **Duration:** 1 minute | **Threshold:** 60 | **Lock period:** 5 minutes Duration — Time window for the threshold. Threshold — Number of API calls allowed within the specified duration. Lock Period — Wait time before consecutive API requests.