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

# Schedule one render



## OpenAPI

````yaml /api-reference/openapi.json post /render/scheduled
openapi: 3.1.0
info:
  title: Scrinly Browser API
  version: '2026-08-14'
  description: >-
    Public API for browser rendering, screenshots, structured extraction,
    grounded page-reconstruction blueprints, batches, jobs, crawls, schedules,
    and usage.
servers:
  - url: https://api.scrinly.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Rendering
    description: Synchronous and asynchronous browser renders.
  - name: Batches
    description: Create multiple asynchronous render jobs.
  - name: Jobs
    description: Inspect and retry account-owned jobs.
  - name: Crawls
    description: Traverse a site and collect page results.
  - name: Schedules
    description: Create and manage account-owned render schedules.
  - name: Usage
    description: Read account credit usage.
paths:
  /render/scheduled:
    post:
      tags:
        - Schedules
      summary: Schedule one render
      operationId: createScheduledRender
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduledRenderRequest'
      responses:
        '201':
          description: Schedule created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schedule'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    ScheduledRenderRequest:
      allOf:
        - $ref: '#/components/schemas/AsyncRenderRequest'
        - type: object
          required:
            - scheduleAt
          properties:
            scheduleAt:
              type: string
              format: date-time
    Schedule:
      type: object
      required:
        - id
        - type
        - status
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - delayed
            - repeatable
        status:
          type: string
          enum:
            - active
            - completed
            - cancelled
        url:
          $ref: '#/components/schemas/HttpUrl'
        scheduleAt:
          type: string
          format: date-time
        pattern:
          type: string
        nextRunAt:
          type:
            - string
            - 'null'
          format: date-time
        runCount:
          type: integer
          minimum: 0
        limit:
          type:
            - integer
            - 'null'
          minimum: 1
    AsyncRenderRequest:
      allOf:
        - $ref: '#/components/schemas/RenderOptions'
        - type: object
          required:
            - url
          properties:
            url:
              $ref: '#/components/schemas/HttpUrl'
            screenshot:
              type: boolean
              default: false
            format:
              type: string
              enum:
                - jpg
                - png
              default: jpg
            quality:
              type: integer
              minimum: 1
              maximum: 100
              default: 80
            fullPage:
              type: boolean
              default: false
            extractMetadata:
              type: boolean
            extractMarkdown:
              type: boolean
            extractHtml:
              type: boolean
            extractLinks:
              type: boolean
            extractImages:
              type: boolean
            extractVideos:
              type: boolean
            extractFonts:
              type: boolean
            extractColors:
              type: boolean
            extractStructure:
              type: boolean
            extractDesign:
              type: boolean
    HttpUrl:
      type: string
      format: uri
      maxLength: 2048
      pattern: ^https?://
    Error:
      type: object
      properties:
        success:
          type: boolean
          const: false
        error:
          type: string
        type:
          type: string
        message:
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldError'
    RenderOptions:
      type: object
      properties:
        url:
          $ref: '#/components/schemas/HttpUrl'
        timeout:
          type: integer
          minimum: 10
          maximum: 60
          default: 30
        waitUntil:
          type: string
          enum:
            - load
            - domcontentloaded
            - networkidle0
            - networkidle2
          default: networkidle2
        width:
          type: integer
          minimum: 100
          maximum: 3840
        height:
          type: integer
          minimum: 100
          maximum: 2160
        device:
          type: string
          description: Supported device preset; overrides width and height.
        theme:
          type: string
          enum:
            - light
            - dark
          default: light
        blockCookieBanners:
          type: boolean
          default: true
        blockAds:
          type: boolean
          default: true
        blockChatWidgets:
          type: boolean
          default: true
        blockPopups:
          type: boolean
          default: true
        blockAccessibilityWidgets:
          type: boolean
          default: true
        hideSelectors:
          type: array
          items:
            type: string
            minLength: 1
        clickSelectors:
          type: array
          items:
            type: string
            minLength: 1
        scrollToElement:
          type: string
          minLength: 1
        headers:
          type: object
          additionalProperties:
            type: string
          writeOnly: true
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/Cookie'
          writeOnly: true
        priority:
          type: string
          enum:
            - low
            - normal
            - high
          default: normal
        cache:
          type: boolean
          default: false
        webhookUrl:
          $ref: '#/components/schemas/HttpUrl'
        webhookSecret:
          type: string
          writeOnly: true
        store:
          type: boolean
          default: false
        storage_provider:
          type: string
          enum:
            - b2
            - s3
            - r2
        storage_path:
          type: string
        storage_bucket:
          type: string
        storage_endpoint:
          type: string
          format: uri
        storage_region:
          type: string
          default: auto
        storage_access_key_id:
          type: string
          writeOnly: true
        storage_secret_access_key:
          type: string
          writeOnly: true
        storage_public_domain:
          type: string
          format: uri
        storage_return_location:
          type: boolean
    FieldError:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
      required:
        - field
        - message
    Cookie:
      type: object
      additionalProperties: false
      required:
        - name
        - value
      properties:
        name:
          type: string
          minLength: 1
        value:
          type: string
        domain:
          type: string
        path:
          type: string
        expires:
          type: number
        httpOnly:
          type: boolean
        secure:
          type: boolean
        sameSite:
          type: string
          enum:
            - Strict
            - Lax
            - None
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing, unknown, or revoked API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Scrinly API key
      description: Customer API key from the Scrinly dashboard.

````