openapi: 3.0.1 info: title: Urlbox Render Render Links API description: Urlbox is a website screenshot and rendering API for capturing screenshots, PDFs, and video (MP4/WebM) of any URL or raw HTML. Renders can be requested synchronously (POST /render/sync), asynchronously with polling or webhooks (POST /render/async + GET /render/{renderId}), or via signed, cacheable HMAC render links (GET /{api_key}/{token}/{format}). termsOfService: https://urlbox.com/terms contact: name: Urlbox Support url: https://urlbox.com/contact email: support@urlbox.com version: '1.0' servers: - url: https://api.urlbox.com/v1 description: Urlbox v1 API security: - BearerAuth: [] tags: - name: Render Links description: Stateless, cacheable HMAC-signed GET render URLs. paths: /{apiKey}/{token}/{format}: get: operationId: getRenderLink tags: - Render Links summary: Render via a signed render link description: Returns a render directly from a stateless, cacheable URL. The token is an HMAC-SHA256 signature of the URL-encoded options query string, generated server-side with the project secret. Render options are passed as query-string parameters (url or html is required). security: [] parameters: - name: apiKey in: path required: true description: The project publishable API key. schema: type: string - name: token in: path required: true description: HMAC-SHA256 hex signature of the URL-encoded options query string, signed with the project secret. Use 'true' for unsigned links if the project allows them. schema: type: string - name: format in: path required: true description: Output format for the render. schema: $ref: '#/components/schemas/RenderFormat' - name: url in: query description: The website URL to render (required unless html is supplied). schema: type: string - name: html in: query description: Raw HTML to render (required unless url is supplied). schema: type: string responses: '200': description: The rendered asset (image, PDF, or video binary). content: image/png: schema: type: string format: binary application/pdf: schema: type: string format: binary video/mp4: schema: type: string format: binary '400': $ref: '#/components/responses/Error' '401': $ref: '#/components/responses/Error' components: responses: Error: description: Error response. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Error: type: object properties: error: type: object properties: message: type: string code: type: string requestId: type: string RenderFormat: type: string description: Output format of the render. enum: - png - jpeg - webp - avif - svg - pdf - html - mp4 - webm - md securitySchemes: BearerAuth: type: http scheme: bearer description: Project secret key supplied as a Bearer token in the Authorization header.