> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spidra.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Resume a Monitor

> Start scheduled checks again on a paused monitor.

```bash theme={null}
curl -X POST https://api.spidra.io/api/monitors/d6761e12-b011-4633-a593-fa6be2ef466c/resume \
  -H "Authorization: Bearer $SPIDRA_API_KEY"
```

The response is the monitor with `"status": "active"` and its next scheduled time in `nextRunAt`. It compares the next check with the last one it made before the pause.


## OpenAPI

````yaml POST /monitors/{monitorId}/resume
openapi: 3.1.0
info:
  title: Spidra API
  version: 1.0.0
  description: >-
    Public API endpoints for web scraping via Spidra. Authenticate with
    `Authorization: Bearer YOUR_API_KEY`.
servers:
  - url: https://api.spidra.io/api
security:
  - BearerAuth: []
  - ApiKeyAuth: []
paths:
  /monitors/{monitorId}/resume:
    post:
      tags:
        - Monitors
      summary: Resume a Monitor
      description: >-
        Starts scheduled checks again. The next one runs at the next scheduled
        time.
      parameters:
        - name: monitorId
          in: path
          required: true
          schema:
            type: string
          description: The monitor's ID.
      responses:
        '200':
          description: Resumed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  monitor:
                    $ref: '#/components/schemas/Monitor'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No monitor with this ID on your account (`NOT_FOUND`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Monitor:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
            - active
            - paused
        sources:
          type: array
          items:
            $ref: '#/components/schemas/MonitorSource'
        schedule:
          $ref: '#/components/schemas/MonitorSchedule'
        cron:
          type: string
          description: The schedule as a cron expression.
        alertOn:
          type: string
        watchFields:
          type: array
          items:
            type: string
        rule:
          $ref: '#/components/schemas/MonitorRule'
        goal:
          type:
            - string
            - 'null'
        notify:
          $ref: '#/components/schemas/MonitorNotify'
        nextRunAt:
          type:
            - string
            - 'null'
          format: date-time
        lastCheckAt:
          type:
            - string
            - 'null'
          format: date-time
        lastChangeAt:
          type:
            - string
            - 'null'
          format: date-time
        lastStatus:
          type:
            - string
            - 'null'
        lastSummary:
          type:
            - string
            - 'null'
          description: The last check in a few words, such as "3 new" or "No change".
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    ErrorResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - error
        message:
          type: string
      required:
        - status
        - message
    MonitorSource:
      type: object
      required:
        - kind
      properties:
        id:
          type: string
          description: >-
            Optional. Kept per source so changes are compared against the same
            source next time.
        kind:
          type: string
          enum:
            - template
            - preset
            - urls
        label:
          type: string
          description: Shown in alerts. Defaults to the template, preset or site name.
        template:
          type: string
          description: 'kind template: the template''s slug.'
        inputs:
          type: object
          description: 'kind template: the template''s inputs.'
        presetId:
          type: string
          description: >-
            kind preset: the preset's ID. Scrape, batch, map, search and
            template presets can be watched.
        urls:
          type: array
          items:
            type: string
          maxItems: 50
          description: 'kind urls: up to 50 public pages.'
    MonitorSchedule:
      type: object
      properties:
        every:
          type: string
          enum:
            - 5m
            - 15m
            - 30m
            - 1h
            - 6h
            - 12h
            - 1d
            - 1w
        at:
          type: string
          description: >-
            "HH:MM". The time for 1d and 1w, and the minute past the hour for
            1h, 6h and 12h. Default 09:00.
        day:
          type: integer
          minimum: 0
          maximum: 6
          description: '1w only: 0 is Sunday. Default 1 (Monday).'
        cron:
          type: string
          description: 'Instead of `every`: a 5-field cron expression.'
        timezone:
          type: string
          description: An IANA time zone such as Africa/Lagos. Default UTC.
      description: >-
        Your plan sets the shortest interval: daily on Free, hourly on Starter,
        every 15 minutes on Builder, every 5 minutes on Pro.
    MonitorRule:
      type:
        - object
        - 'null'
      properties:
        field:
          type: string
        op:
          type: string
          enum:
            - lt
            - lte
            - gt
            - gte
            - eq
            - neq
            - contains
            - drops_by_pct
            - rises_by_pct
        value:
          type:
            - number
            - string
      description: >-
        Only alert about items where this is true, for example `{ "field":
        "price", "op": "drops_by_pct", "value": 10 }`.
    MonitorNotify:
      type: object
      properties:
        email:
          type: object
          properties:
            enabled:
              type: boolean
              default: true
            recipients:
              type: array
              items:
                type: string
              maxItems: 10
              description: >-
                Extra addresses. Each gets alerts only after confirming by
                email.
          description: Your account's email is on unless `enabled` is false.
        webhook:
          type: object
          properties:
            url:
              type: string
              description: A public https URL.
            secret:
              type: string
              description: >-
                16 to 128 letters, digits, - or _. Generated when you leave it
                out.
        slack:
          type: object
          properties:
            webhookUrl:
              type: string
              description: A Slack incoming webhook URL (https://hooks.slack.com/...).
        discord:
          type: object
          properties:
            webhookUrl:
              type: string
              description: A Discord webhook URL (https://discord.com/api/webhooks/...).
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.