---
title: "CreatePdfFromUrlBody"
description: "The `CreatePdfFromUrlBody` entity."
section: "Reference"
group: "Types"
order: 54
---

## Definition

```ts
interface CreatePdfFromUrlBody {
  workspaceId: string;
  url: string;
  directoryId?: string | undefined;
  name?: string | undefined;
  ttlMs?: number | null | undefined;
  browser?:
    | {
        viewport?: { width: number; height: number } | undefined;
        waitForSelector?:
          | {
              selector: string;
              hidden?: boolean | undefined;
              timeout?: number | undefined;
            }
          | undefined;
        waitForTimeout?: number | undefined;
        userAgent?: string | undefined;
        authenticate?: { username: string; password: string } | undefined;
        cookies?:
          | Array<{
              [x: string]: unknown;
              name: string;
              value: string;
              url?: string | undefined;
              domain?: string | undefined;
              path?: string | undefined;
            }>
          | undefined;
        extraHeaders?: Record<string, string> | undefined;
        gotoOptions?:
          | {
              waitUntil?:
                | "load"
                | "domcontentloaded"
                | "networkidle0"
                | "networkidle2"
                | undefined;
              timeout?: number | undefined;
              referer?: string | undefined;
            }
          | undefined;
        bestAttempt?: boolean | undefined;
        allowRequestPattern?: Array<string> | undefined;
        rejectRequestPattern?: Array<string> | undefined;
        allowResourceTypes?: Array<string> | undefined;
        rejectResourceTypes?: Array<string> | undefined;
        setJavaScriptEnabled?: boolean | undefined;
      }
    | undefined;
  pdf?:
    | {
        format?: string | undefined;
        landscape?: boolean | undefined;
        scale?: number | undefined;
        printBackground?: boolean | undefined;
        displayHeaderFooter?: boolean | undefined;
        headerTemplate?: string | undefined;
        footerTemplate?: string | undefined;
        margin?:
          | {
              top?: string | undefined;
              right?: string | undefined;
              bottom?: string | undefined;
              left?: string | undefined;
            }
          | undefined;
        width?: string | undefined;
        height?: string | undefined;
        preferCSSPageSize?: boolean | undefined;
      }
    | undefined;
}
```

## Fields

| Field         | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Notes                                                                                                                                                                                   |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `workspaceId` | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `required` — Workspace that will own the generated PDF.                                                                                                                                 |
| `url`         | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `required` — URL to render as a PDF.                                                                                                                                                    |
| `directoryId` | `string \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `optional` — Destination directory. Defaults to the workspace root. When omitted the file defaults to temp (1 day TTL); when set the file is permanent unless `ttlMs` is also provided. |
| `name`        | `string \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `optional` — Filename. Defaults to `<hostname>-<yyyy-mm-dd>.pdf` derived from the URL.                                                                                                  |
| `ttlMs`       | `number \| null \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | `optional`                                                                                                                                                                              |
| `browser`     | `{ viewport?: { width: number; height: number; } \| undefined; waitForSelector?: { selector: string; hidden?: boolean \| undefined; timeout?: number \| undefined; } \| undefined; waitForTimeout?: number \| undefined; userAgent?: string \| undefined; authenticate?: { username: string; password: string; } \| undefined; cookies?: Array<{ [x: string]: unknown; name: string; value: string; url?: string \| undefined; domain?: string \| undefined; path?: string \| undefined; }> \| undefined; extraHeaders?: Record<string, string> \| undefined; gotoOptions?: { waitUntil?: "load" \| "domcontentloaded" \| "networkidle0" \| "networkidle2" \| undefined; timeout?: number \| undefined; referer?: string \| undefined; } \| undefined; bestAttempt?: boolean \| undefined; allowRequestPattern?: Array<string> \| undefined; rejectRequestPattern?: Array<string> \| undefined; allowResourceTypes?: Array<string> \| undefined; rejectResourceTypes?: Array<string> \| undefined; setJavaScriptEnabled?: boolean \| undefined; } \| undefined` | `optional` — Shared browser render options (viewport, waits, auth, etc.).                                                                                                               |
| `pdf`         | `{ format?: string \| undefined; landscape?: boolean \| undefined; scale?: number \| undefined; printBackground?: boolean \| undefined; displayHeaderFooter?: boolean \| undefined; headerTemplate?: string \| undefined; footerTemplate?: string \| undefined; margin?: { top?: string \| undefined; right?: string \| undefined; bottom?: string \| undefined; left?: string \| undefined; } \| undefined; width?: string \| undefined; height?: string \| undefined; preferCSSPageSize?: boolean \| undefined; } \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `optional` — PDF-specific options (page format, margins, print background, …).                                                                                                          |
