API Reference

Overview

Create Schedule

Creates a screenshot schedule with one or more items. Use this to automate recurring screenshot captures using one-time, interval, or cron scheduling.

Endpoint

POSThttps://snapshot-api.mindiqglobal.com/api/v1/schedules

Request Body

{
  "name": "Daily Homepage Check",
  "description": "Track homepage changes",
  "schedule": {
    "type": "INTERVAL",
    "firstRunAt": "2026-08-07T09:00:00Z",
    "intervalValue": 1,
    "intervalUnit": "DAYS"
  },
  "items": [
    {
      "url": "https://example.com",
      "width": 1920,
      "height": 1080,
      "fullPage": true,
      "format": "png"
    }
  ]
}

Request Body Parameters

FieldRequiredTypeDescription
nameYesstringSchedule name.
descriptionNostringSchedule description.
scheduleYesobjectSchedule timing configuration object.
schedule.typeYesenumSchedule type. Possible values: ONCE, INTERVAL, CRON.
schedule.firstRunAtConditionaldatetimeFirst run datetime in ISO-8601 format. Required for ONCE; optional for other types based on workflow.
schedule.intervalValueConditionalintegerInterval amount. Required when schedule.type is INTERVAL. Expected positive integer (for example, 1, 2, 12).
schedule.intervalUnitConditionalenumInterval unit. Required when schedule.type is INTERVAL. Possible values: MINUTES, HOURS, DAYS, WEEKS, MONTHS.
schedule.cronExpressionConditionalstringCron expression. Required when schedule.type is CRON.
itemsYesarrayList of screenshot items to capture.
items[].urlYesstringTarget URL (http:// or https://).
items[].widthNointegerViewport width. Expected positive integer (for example, 1280, 1920).
items[].heightNointegerViewport height. Expected positive integer (for example, 720, 1080).
items[].fullPageNobooleanCapture full page. Possible values: true, false.
items[].formatNoenumImage format. Possible values: png, jpeg.

Success Response

{
  "id": 21,
  "name": "Daily Homepage Check",
  "description": "Track homepage changes",
  "status": "ACTIVE",
  "schedule": {
    "type": "INTERVAL",
    "firstRunAt": "2026-08-07T09:00:00Z",
    "intervalValue": 1,
    "intervalUnit": "DAYS",
    "cronExpression": null
  },
  "nextRunAt": "2026-08-07T09:00:00Z",
  "lastRunAt": null,
  "items": [
    {
      "id": 44,
      "url": "https://example.com",
      "width": 1920,
      "height": 1080,
      "fullPage": true,
      "format": "png",
      "createdAt": "2026-08-06T10:00:00Z",
      "updatedAt": "2026-08-06T10:00:00Z"
    }
  ],
  "createdAt": "2026-08-06T10:00:00Z",
  "updatedAt": "2026-08-06T10:00:00Z"
}

Response Body Parameters

NameTypeDescription
idintegerSchedule ID.
namestringSchedule name.
descriptionstring | nullSchedule description.
statusenumSchedule status, Possible values: ACTIVE, COMPLETED
scheduleobjectSchedule timing configuration.
schedule.typeenumPossible values: ONCE, INTERVAL, CRON.
schedule.firstRunAtdatetime | nullFirst run datetime in ISO-8601 format.
schedule.intervalValueinteger | nullInterval value for interval schedules.
schedule.intervalUnitenum | nullPossible values: MINUTES, HOURS, DAYS, WEEKS, MONTHS.
schedule.cronExpressionstring | nullCron expression for cron schedules.
nextRunAtdatetime | nullNext run datetime in ISO-8601 format.
lastRunAtdatetime | nullLast run datetime in ISO-8601 format.
itemsarraySchedule items.
items[].idintegerSchedule item ID.
items[].urlstringTarget URL.
items[].widthinteger | nullViewport width.
items[].heightinteger | nullViewport height.
items[].fullPagebooleanFull page flag. Possible values: true, false.
items[].formatenumPossible values: png, jpeg.
items[].createdAtdatetimeItem creation datetime in ISO-8601 format.
items[].updatedAtdatetimeItem update datetime in ISO-8601 format.
createdAtdatetimeSchedule creation datetime in ISO-8601 format.
updatedAtdatetimeSchedule update datetime in ISO-8601 format.