snap-render-com Schedules API

The Schedules API from snap-render-com — 4 operation(s) for schedules.

Operations 7

POST /v1/schedules Create a scheduled capture #
GET /v1/schedules List scheduled captures #
GET /v1/schedules/{scheduleId} Get a scheduled capture #
PATCH /v1/schedules/{scheduleId} Rename, retime, pause or resume a schedule #
DELETE /v1/schedules/{scheduleId} Delete a schedule and its captures #
POST /v1/schedules/{scheduleId}/run Capture now #
GET /v1/schedules/{scheduleId}/captures Capture history #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/snap-render-com:snap-render-com-schedules-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

snap-render-com-schedules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Snap Render Com Schedules API
  version: 1.0.0
  contact:
    name: SnapRender Support
    url: https://snap-render.com
    email: support@snap-render.com
  description: 'Operations tagged Schedules across 2 of this provider''s published API definitions: app.snap-render.com-openapi.json, snap-render-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://app.snap-render.com
  description: Production
tags:
- name: Schedules
paths:
  /v1/schedules:
    post:
      operationId: createSchedule
      summary: Create a scheduled capture
      description: 'Capture a URL every hour, day or week. The first capture runs within a minute. Each capture counts as one render (failed renders are refunded), is stored as PNG with its SHA-256, and is compared with the previous capture. Subscribe to the capture.completed and change.detected webhook events to be notified. Every plan includes schedules: Free holds 1 (daily or weekly, kept 7 days), Starter 5 (14 days), Growth 25 (30 days), Business 100 (90 days), Scale 300 (180 days).'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - url
              - interval
              properties:
                url:
                  type: string
                  format: uri
                  description: Page to capture. Public http or https URL.
                interval:
                  type: string
                  enum:
                  - hourly
                  - daily
                  - weekly
                name:
                  type: string
                  maxLength: 200
                format:
                  type: string
                  enum:
                  - png
                  description: Captures are always PNG so they can be compared.
                width:
                  type: integer
                  minimum: 320
                  maximum: 3840
                  default: 1280
                height:
                  type: integer
                  minimum: 200
                  maximum: 10000
                  default: 800
                full_page:
                  type: boolean
                  default: false
                delay:
                  type: integer
                  minimum: 0
                  maximum: 10000
                  default: 0
                dark_mode:
                  type: boolean
                  default: false
                block_ads:
                  type: boolean
                  default: true
                block_cookie_banners:
                  type: boolean
                  default: true
                hide_selectors:
                  type: string
                  maxLength: 1000
                click_selector:
                  type: string
                  maxLength: 500
                device:
                  type: string
                  enum:
                  - iphone_14
                  - iphone_15_pro
                  - pixel_7
                  - ipad_pro
                  - macbook_pro
                user_agent:
                  type: string
                  maxLength: 500
                change_threshold:
                  type: number
                  minimum: 0.001
                  maximum: 100
                  default: 0.5
                  description: Percent of the page that must change before change.detected fires.
                notify_email:
                  type: boolean
                  default: false
                  description: 'Email the account owner when change.detected fires: verified addresses only, at most one email per schedule every 50 minutes and 50 per account a day.'
      responses:
        '201':
          description: Schedule created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schedule'
        '400':
          description: Invalid request, unknown device, interval not on this plan, or schedule limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Scheduled captures are not available on this account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - apiKey: []
      tags:
      - Schedules
    get:
      operationId: listSchedules
      summary: List scheduled captures
      description: All schedules on the account, newest first, with the plan's limits.
      responses:
        '200':
          description: Schedules
          content:
            application/json:
              schema:
                type: object
                properties:
                  schedules:
                    type: array
                    items:
                      $ref: '#/components/schemas/Schedule'
                  limits:
                    type: object
                    properties:
                      plan:
                        type: string
                      eligible:
                        type: boolean
                      maxSchedules:
                        type: integer
                      retentionDays:
                        type: integer
                      used:
                        type: integer
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - apiKey: []
      tags:
      - Schedules
    servers:
    - url: https://app.snap-render.com
      description: Production
  /v1/schedules/{scheduleId}:
    get:
      operationId: getSchedule
      summary: Get a scheduled capture
      parameters:
      - name: scheduleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schedule'
        '404':
          description: Schedule not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - apiKey: []
      tags:
      - Schedules
    patch:
      operationId: updateSchedule
      summary: Rename, retime, pause or resume a schedule
      description: Set is_active to false to pause and true to resume (resuming needs an eligible plan and clears the failure count).
      parameters:
      - name: scheduleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type:
                  - string
                  - 'null'
                  maxLength: 200
                interval:
                  type: string
                  enum:
                  - hourly
                  - daily
                  - weekly
                change_threshold:
                  type: number
                  minimum: 0.001
                  maximum: 100
                notify_email:
                  type: boolean
                is_active:
                  type: boolean
      responses:
        '200':
          description: Updated schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schedule'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Scheduled captures are not available on this account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Schedule not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - apiKey: []
      tags:
      - Schedules
    delete:
      operationId: deleteSchedule
      summary: Delete a schedule and its captures
      parameters:
      - name: scheduleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Schedule deleted
        '404':
          description: Schedule not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - apiKey: []
      tags:
      - Schedules
    servers:
    - url: https://app.snap-render.com
      description: Production
  /v1/schedules/{scheduleId}/run:
    post:
      operationId: runScheduleNow
      summary: Capture now
      description: Makes the schedule due immediately; the capture runs within a minute.
      parameters:
      - name: scheduleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '202':
          description: Capture queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schedule'
        '404':
          description: Schedule not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Schedule is paused
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - apiKey: []
      tags:
      - Schedules
    servers:
    - url: https://app.snap-render.com
      description: Production
  /v1/schedules/{scheduleId}/captures:
    get:
      operationId: listScheduleCaptures
      summary: Capture history
      description: Captures newest first, with download links valid for one hour. Page with the nextBefore cursor.
      parameters:
      - name: scheduleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
      - name: before
        in: query
        description: ISO 8601 timestamp; returns captures older than this (use nextBefore).
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Captures
          content:
            application/json:
              schema:
                type: object
                properties:
                  captures:
                    type: array
                    items:
                      $ref: '#/components/schemas/ScheduleCapture'
                  nextBefore:
                    type:
                    - string
                    - 'null'
                    format: date-time
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Schedule not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - apiKey: []
      tags:
      - Schedules
    servers:
    - url: https://app.snap-render.com
      description: Production
components:
  schemas:
    ScheduleCapture:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
          - completed
          - failed
        capturedAt:
          type: string
          format: date-time
        diffPercent:
          type:
          - number
          - 'null'
          description: Share of the page that changed since the previous capture, in percent. Null for the first capture.
        changed:
          type: boolean
        sha256:
          type:
          - string
          - 'null'
        bytes:
          type:
          - integer
          - 'null'
        width:
          type:
          - integer
          - 'null'
        height:
          type:
          - integer
          - 'null'
        renderMs:
          type:
          - integer
          - 'null'
        error:
          type:
          - string
          - 'null'
        downloadUrl:
          type:
          - string
          - 'null'
          format: uri
          description: Valid for one hour.
        expiresAt:
          type: string
          format: date-time
          description: When the capture is deleted under the plan's retention.
    Schedule:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type:
          - string
          - 'null'
        url:
          type: string
          format: uri
        interval:
          type: string
          enum:
          - hourly
          - daily
          - weekly
        format:
          type: string
          enum:
          - png
        options:
          type: object
          description: Render options, same names as the batch endpoint.
        changeThreshold:
          type: number
        notifyEmail:
          type: boolean
        isActive:
          type: boolean
        pausedReason:
          type:
          - string
          - 'null'
          enum:
          - user
          - plan
          - failures
          - account
          - null
        consecutiveFailures:
          type: integer
        lastError:
          type:
          - string
          - 'null'
        lastRunAt:
          type:
          - string
          - 'null'
          format: date-time
        nextRunAt:
          type:
          - string
          - 'null'
          format: date-time
        createdAt:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code (e.g., INVALID_URL, RATE_LIMITED, QUOTA_EXCEEDED)
            message:
              type: string
              description: Human-readable error description
            status:
              type: integer
              description: HTTP status code
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key (starts with sk_live_). Get one free at https://app.snap-render.com/auth/signup
x-refined-from:
- app.snap-render.com-openapi.json
- snap-render-com-openapi.json