Scheduling

    Create and manage scheduled test runs. Automate recurring IVR tests on a cron schedule.

    7 endpoints

    Create a schedule

    POST/schedules

    Create a schedule. A schedule is a reusable timing definition — scheduleType picks the firing strategy, and each strategy requires a different companion field. Attach it to a target with targetId/targetType, or leave those off to keep it as a reusable template. Currently only test configs and batches are dispatched from a schedule.

    Body Parameters

    NameTypeRequiredDescription
    namestringrequiredDisplay name for the schedule
    scheduleTypestringrequiredonce, recurring, or cron. Decides which companion field below is required
    cronExpressionstringoptionalCron expression (e.g. "0 9 * * MON-FRI"). REQUIRED when scheduleType is cron
    intervalMinutesnumberoptionalMinutes between runs, minimum 1. REQUIRED when scheduleType is recurring
    runAtstringoptionalISO timestamp, must be in the future. REQUIRED when scheduleType is once
    targetIdstringoptionalTest config or batch id this schedule fires. Omit to create a reusable template
    targetTypestringoptionaltest, map, or batch. Note: map targets are accepted but not yet dispatched
    descriptionstringoptionalFree-text description
    timezonestringoptionalIANA timezone (default: UTC)

    Request

    bash
    curl -X POST -H "x-api-key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name":"Daily Sales Test","scheduleType":"cron","cronExpression":"0 9 * * MON-FRI","targetId":"cfg_abc123","targetType":"test","timezone":"Europe/London"}' \
      https://api.nopaque.co.uk/schedules

    Response

    json
    {
      "id": "sched_abc123",
      "name": "Daily Sales Test",
      "scheduleType": "cron",
      "cronExpression": "0 9 * * MON-FRI",
      "targetId": "cfg_abc123",
      "targetType": "test",
      "timezone": "Europe/London",
      "enabled": "true",
      "nextRunAt": "2026-04-11T09: 00: 00Z",
      "runCount": 0,
      "createdAt": "2026-04-10T12: 00: 00Z"
    }

    List schedules

    GET/schedules

    List all schedules in the workspace.

    Query Parameters

    NameTypeRequiredDescription
    limitnumberoptionalMaximum items to return (default 50)
    nextTokenstringoptionalPagination token from previous response

    Request

    bash
    curl -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/schedules

    Response

    json
    {
      "schedules": [
        {
          "id": "sched_abc123",
          "name": "Daily Sales Test",
          "scheduleType": "cron",
          "cronExpression": "0 9 * * MON-FRI",
          "enabled": "true",
          "nextRunAt": "2026-04-11T09: 00: 00Z",
          "runCount": 12
        }
      ],
      "count": 1
    }

    Get a schedule

    GET/schedules/{id}

    Get a specific schedule by ID.

    Path Parameters

    NameTypeRequiredDescription
    idstringrequiredSchedule ID

    Request

    bash
    curl -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/schedules/sched_abc123

    Response

    json
    {
      "id": "sched_abc123",
      "name": "Daily Sales Test",
      "scheduleType": "cron",
      "cronExpression": "0 9 * * MON-FRI",
      "targetId": "cfg_abc123",
      "targetType": "test",
      "timezone": "Europe/London",
      "enabled": "true",
      "nextRunAt": "2026-04-11T09: 00: 00Z",
      "runCount": 0
    }

    Update a schedule

    PUT/schedules/{id}

    Update a schedule configuration.

    Path Parameters

    NameTypeRequiredDescription
    idstringrequiredSchedule ID

    Body Parameters

    NameTypeRequiredDescription
    namestringoptionalUpdated display name
    descriptionstringoptionalUpdated description
    scheduleTypestringoptionalChange the firing strategy: once, recurring, or cron
    cronExpressionstringoptionalUpdated cron expression
    intervalMinutesnumberoptionalUpdated interval in minutes, minimum 1
    runAtstringoptionalUpdated one-off ISO timestamp
    timezonestringoptionalUpdated timezone
    enabledbooleanoptionalEnable or disable the schedule. Sent as a boolean; returned as the string "true" or "false"

    Request

    bash
    curl -X PUT -H "x-api-key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"cronExpression":"0 8 * * MON-FRI"}' \
      https://api.nopaque.co.uk/schedules/sched_abc123

    Response

    json
    {
      "id": "sched_abc123",
      "cronExpression": "0 8 * * MON-FRI",
      "updatedAt": "2026-04-10T12: 10: 00Z"
    }

    Delete a schedule

    DELETE/schedules/{id}

    Delete a schedule.

    Path Parameters

    NameTypeRequiredDescription
    idstringrequiredSchedule ID

    Request

    bash
    curl -X DELETE -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/schedules/sched_abc123

    Response

    json
    {
      "message": "Schedule deleted successfully"
    }

    Pause a schedule

    POST/schedules/{id}/pause

    Pause an active schedule. Scheduled runs will not execute until resumed.

    Path Parameters

    NameTypeRequiredDescription
    idstringrequiredSchedule ID

    Request

    bash
    curl -X POST -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/schedules/sched_abc123/pause

    Response

    json
    {
      "id": "sched_abc123",
      "enabled": "false",
      "pausedAt": "2026-04-10T12: 15: 00Z"
    }

    Resume a schedule

    POST/schedules/{id}/resume

    Resume a paused schedule.

    Path Parameters

    NameTypeRequiredDescription
    idstringrequiredSchedule ID

    Request

    bash
    curl -X POST -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/schedules/sched_abc123/resume

    Response

    json
    {
      "id": "sched_abc123",
      "enabled": "true",
      "resumedAt": "2026-04-10T12: 20: 00Z"
    }