Schedules API - apviso [APVISO](/)Product

Resources

Developers

Company

[Pricing](/#pricing)[Partners](/partners)[Enterprise](/enterprise)

[Login](/login)[Start free pentest](/register?intent=free-local-pentest)

[Login](/login)[Start free](/register?intent=free-local-pentest)

[Home](/)[Knowledge Base](/docs)[API Reference](/docs/api)SchedulesSchedules
=========

Set up recurring automated pentests (Team+ tier)

POST`/v1/schedules`

### Create a schedule

Create a recurring pentest schedule for a self-hosted target. Scheduled pentests run automatically at the specified frequency and time. Requires Launch tier or above.

Requires Launch tier or above. Returns 403 if your subscription does not include scheduled pentests. All times are in UTC.

#### Request Body

NameTypeDescription`targetId`required

`string`ID of the target to schedule pentests for`frequency`required

`string`dailyweeklybiweeklymonthly

How often to run the pentest`hour`required

`number`Hour of day to run (0-23, UTC)`minute`

`number`Minute of hour to run (0-59, UTC). Defaults to 0`dayOfWeek`

`number`Day of week for weekly/biweekly schedules (0 = Sunday, 6 = Saturday)`dayOfMonth`

`number`Day of month for monthly schedules (1-28). Values above 28 are not supported to avoid month-length issues`modelPreset`

`string`freelowmediumhighultra

AI model quality preset for scheduled pentests

#### Example Request

bashCopy

```
curl -X POST "https://apviso.com/api/v1/schedules" \
  -H "X-API-Key: apvk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "targetId": "019414a8-f7c0-7d4a-b5e3-9c2d1e8f4a6b",
  "frequency": "weekly",
  "hour": 3,
  "minute": 0,
  "dayOfWeek": 1,
  "modelPreset": "medium"
}'
```

#### Response

Returns the newly created schedule with the computed next run time. The schedule is enabled by default.

jsonCopy

```
{
  "schedule": {
    "id": "019414d5-e6f7-7a8b-c9d0-1e2f3a4b5c6d",
    "targetId": "019414a8-f7c0-7d4a-b5e3-9c2d1e8f4a6b",
    "target": {
      "domain": "example.com"
    },
    "frequency": "weekly",
    "hour": 3,
    "minute": 0,
    "dayOfWeek": 1,
    "dayOfMonth": null,
    "modelPreset": "medium",
    "enabled": true,
    "nextRunAt": "2026-05-04T03:00:00Z",
    "lastRunAt": null,
    "lastScanId": null,
    "createdAt": "2026-05-03T16:00:12Z",
    "updatedAt": "2026-05-03T16:00:12Z"
  }
}
```

GET`/v1/schedules`

### List schedules

Retrieve all pentest schedules configured for your account. Returns both enabled and disabled schedules.

#### Example Request

bashCopy

```
curl -X GET "https://apviso.com/api/v1/schedules" \
  -H "X-API-Key: apvk_your_key_here"
```

#### Response

Returns the list of all schedules with their configuration, next run time, and last execution details.

jsonCopy

```
{
  "schedules": [
    {
      "id": "019414d5-e6f7-7a8b-c9d0-1e2f3a4b5c6d",
      "targetId": "019414a8-f7c0-7d4a-b5e3-9c2d1e8f4a6b",
      "target": {
        "domain": "example.com"
      },
      "frequency": "weekly",
      "hour": 3,
      "minute": 0,
      "dayOfWeek": 1,
      "modelPreset": "medium",
      "enabled": true,
      "nextRunAt": "2026-04-14T03:00:00Z",
      "lastRunAt": "2026-04-07T03:00:00Z",
      "lastScanId": "019414b0-c1d2-7e3f-a4b5-6c7d8e9f0a1b",
      "createdAt": "2026-03-15T10:30:00Z",
      "updatedAt": "2026-04-07T03:00:00Z"
    }
  ]
}
```

GET`/v1/schedules/:id`

### Get schedule details

Retrieve detailed information about a specific pentest schedule, including its execution history summary.

#### Path Parameters

NameTypeDescription`id`required

`string`Schedule ID (UUIDv7)

#### Example Request

bashCopy

```
curl -X GET "https://apviso.com/api/v1/schedules/:id" \
  -H "X-API-Key: apvk_your_key_here"
```

#### Response

Returns the full schedule details.

jsonCopy

```
{
  "schedule": {
    "id": "019414d5-e6f7-7a8b-c9d0-1e2f3a4b5c6d",
    "targetId": "019414a8-f7c0-7d4a-b5e3-9c2d1e8f4a6b",
    "target": {
      "domain": "example.com"
    },
    "frequency": "weekly",
    "hour": 3,
    "minute": 0,
    "dayOfWeek": 1,
    "dayOfMonth": null,
    "modelPreset": "medium",
    "enabled": true,
    "nextRunAt": "2026-05-04T03:00:00Z",
    "lastRunAt": "2026-04-27T03:00:00Z",
    "lastScanId": "019414b0-c1d2-7e3f-a4b5-6c7d8e9f0a1b",
    "createdAt": "2026-04-15T10:30:00Z",
    "updatedAt": "2026-04-27T03:00:00Z"
  }
}
```

PATCH`/v1/schedules/:id`

### Update a schedule

Update the configuration of an existing pentest schedule. You can modify the frequency, timing, model preset, or enable/disable the schedule. Only provided fields are updated.

#### Path Parameters

NameTypeDescription`id`required

`string`Schedule ID (UUIDv7)

#### Request Body

NameTypeDescription`frequency`

`string`dailyweeklybiweeklymonthly

Updated frequency`hour`

`number`Updated hour (0-23, UTC)`minute`

`number`Updated minute (0-59)`dayOfWeek`

`number`Updated day of week (0-6)`dayOfMonth`

`number`Updated day of month (1-28)`modelPreset`

`string`freelowmediumhighultra

Updated model preset`enabled`

`boolean`Enable or disable the schedule

#### Example Request

bashCopy

```
curl -X PATCH "https://apviso.com/api/v1/schedules/:id" \
  -H "X-API-Key: apvk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "frequency": "biweekly",
  "modelPreset": "high",
  "enabled": true
}'
```

#### Response

Returns the full updated schedule object with the recomputed next run time.

jsonCopy

```
{
  "schedule": {
    "id": "019414d5-e6f7-7a8b-c9d0-1e2f3a4b5c6d",
    "targetId": "019414a8-f7c0-7d4a-b5e3-9c2d1e8f4a6b",
    "target": {
      "domain": "example.com"
    },
    "frequency": "biweekly",
    "hour": 3,
    "minute": 0,
    "dayOfWeek": 1,
    "dayOfMonth": null,
    "modelPreset": "high",
    "enabled": true,
    "nextRunAt": "2026-05-18T03:00:00Z",
    "lastRunAt": "2026-04-27T03:00:00Z",
    "lastScanId": "019414b0-c1d2-7e3f-a4b5-6c7d8e9f0a1b",
    "createdAt": "2026-04-15T10:30:00Z",
    "updatedAt": "2026-05-03T16:15:44Z"
  }
}
```

DELETE`/v1/schedules/:id`

### Delete a schedule

Permanently delete a pentest schedule. Any currently running pentest initiated by this schedule will continue to completion, but no future pentests will be triggered.

#### Path Parameters

NameTypeDescription`id`required

`string`Schedule ID (UUIDv7)

#### Example Request

bashCopy

```
curl -X DELETE "https://apviso.com/api/v1/schedules/:id" \
  -H "X-API-Key: apvk_your_key_here"
```

#### Response

Returns a confirmation message. In-progress pentests triggered by this schedule are not affected.

jsonCopy

```
{
  "success": true
}
```

[Back to API Reference](/docs/api)

[Overview](#overview)[POST /v1/schedules](#create-schedule)[GET /v1/schedules](#list-schedules)[GET /v1/schedules/:id](#get-schedule)[PATCH /v1/schedules/:id](#update-schedule)[DELETE /v1/schedules/:id](#delete-schedule)

[APVISO](/)Autonomous AI-powered penetration testing for modern web applications.

Subscribe

[](https://github.com/apviso)[](https://x.com/Apviso_com)[](https://www.linkedin.com/company/apviso/)

[![Featured on Good AI Tools](https://goodaitools.com/assets/images/badge.png)](https://goodaitools.com/ai/apviso)

Product

- [Features](/#features)
- [Pricing](/pricing)
- [Integrations](/integrations)
- [Benchmarks](/#compare)
- [Affiliate Program](/affiliate)
- [Partners](/partners)
- [Enterprise](/enterprise)

Resources

- [Blog](/blog)
- [Use Cases](/use-cases)
- [Glossary](/glossary)
- [Comparisons](/comparisons)
- [Alternatives](/alternatives)
- [Compliance](/compliance)
- [Vulnerabilities](/vulnerabilities)
- [Industries](/industries)
- [OWASP APTS](/trust/apts)

Developers

- [Knowledge Base](/docs)
- [API Reference](/docs/api)
- [MCP Server](/docs/mcp)

Company

- [About](/about)
- [Contact](/contact)
- [Status](https://status.apviso.com)
- [Privacy Policy](/legal/privacy)
- [Terms of Service](/legal/terms)

© 2026 APVISO. All rights reserved.
