# API schemas, P to Z

> The 64 named objects of the Fax for Agents API whose names start with P to Z, with the type of each field. OpenAPI snapshot of 2026-11-13.

Page: https://faxforagents.com/docs/api/reference/schemas/p-z/
Last changed: 2026-11-13

Updated Nov 13, 2026

64 named objects of the Fax for Agents API, from PagePreview to WebhookWithSecret, as the API sends and accepts them. From the OpenAPI document version 1.20.1, snapshot of 2026-11-13. [All 173 schemas](https://faxforagents.com/docs/api/reference/schemas/) are listed by name.

## PagePreview

PagePreview fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `height_px` | integer or null | yes |  |
| `page_number` | integer | yes |  |
| `url` | string | yes |  |
| `width_px` | integer or null | yes |  |

## Passkey

Passkey fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `aaguid` | string or null | yes |  |
| `backup_eligible` | boolean | yes |  |
| `created_at` | string | yes |  |
| `id` | string | yes |  |
| `label` | string or null | yes |  |
| `last_used_at` | string or null | yes |  |
| `transports` | array of string or null | yes |  |

## PasskeyList

PasskeyList fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of object Passkey | yes |  |

## PasskeyLoginVerify

PasskeyLoginVerify fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `credential` | object | yes |  |

## PasskeyRegisterVerify

PasskeyRegisterVerify fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `credential` | object | yes |  |
| `label` | string or null | no |  |

## Policy

Policy fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `created_by` | string | yes |  |
| `current_version_id` | string or null | yes |  |
| `enabled` | boolean | yes |  |
| `id` | string | yes |  |
| `managed` | string or null | no | connected_apps when a Settings switch (the auto-send setting) manages this policy. Such a policy is read here and changed only through PUT /v1/organizations/current/auto-send. |
| `name` | string | yes |  |
| `purpose` | string or null | yes |  |
| `rules` | object | yes |  |
| `updated_at` | string | yes |  |
| `version` | integer | yes |  |

## PolicyCreate

PolicyCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `enabled` | boolean | no |  |
| `name` | string | yes |  |
| `purpose` | string or null | no | Why this policy exists. Shown, never evaluated. |
| `rules` | object | yes | See the PolicyRules schema in docs/APPROVALS.md. |

## PolicyEvaluation

PolicyEvaluation fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `decision` | string | yes |  |
| `denials` | array of object | yes |  |
| `executed` | boolean | no |  |
| `plan` | object | yes |  |
| `policy_id` | string or null | yes |  |
| `policy_name` | string or null | yes |  |
| `policy_version_id` | string or null | yes |  |
| `reason` | string | yes |  |
| `rule` | string or null | yes |  |
| `version` | integer or null | yes |  |

## PolicyEvaluationCreate

PolicyEvaluationCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `document_id` | string or null | no | Or plan: this document ... |
| `from` | string or null | no |  |
| `quote_id` | string or null | no | Evaluate an existing quote. |
| `to` | string or null | no | ... to this E.164 destination. |

## PolicyList

PolicyList fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of object Policy | yes |  |

## PolicyUpdate

PolicyUpdate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `enabled` | boolean or null | no |  |
| `name` | string or null | no |  |
| `purpose` | string or null | no |  |
| `rules` | object or null | no |  |

## PolicyVersion

PolicyVersion fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `created_by` | string | yes |  |
| `enabled` | boolean | yes |  |
| `id` | string | yes |  |
| `name` | string | yes |  |
| `policy_id` | string | yes |  |
| `purpose` | string or null | yes |  |
| `rules` | object | yes |  |
| `version` | integer | yes |  |

## PolicyVersionList

PolicyVersionList fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of object PolicyVersion | yes |  |

## PortOrder

PortOrder fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `direction` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `id` | string | yes |  |
| `milestones` | array of object | yes |  |
| `numbers` | array of string | yes |  |
| `provider` | string | yes |  |
| `request` | object | yes |  |
| `status` | string | yes |  |
| `updated_at` | string | yes |  |

## PortOrderCreate

PortOrderCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `note` | string or null | no |  |
| `numbers` | array of string | yes |  |

## PortOrderList

PortOrderList fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of object PortOrder | yes |  |

## PortOutRequestCreate

PortOutRequestCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `note` | string or null | no |  |
| `number_id` | string | yes |  |

## PortabilityCheck

PortabilityCheck fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `checked_at` | string | yes |  |
| `items` | array of object | yes |  |

## PortabilityCheckCreate

PortabilityCheckCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `numbers` | array of string | yes |  |

## PortalSession

PortalSession fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `expires_at` | string | yes |  |
| `url` | string | yes |  |

## Providers

Providers fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `github` | boolean | yes |  |
| `google` | boolean | yes |  |
| `magic_link` | boolean | no |  |
| `passkeys` | boolean | no |  |

## Quote

Quote fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount_micro` | integer | yes |  |
| `authorization_required` | boolean | yes |  |
| `billable_pages` | integer | yes |  |
| `consumed_by_job_id` | string or null | yes |  |
| `cover` | object or null | yes |  |
| `cover_pages` | integer | yes |  |
| `created_at` | string | yes |  |
| `currency` | string | yes |  |
| `delete_after_send` | boolean | no |  |
| `document_id` | string | yes |  |
| `document_pages` | integer | yes |  |
| `document_sha256` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `expired` | boolean | yes |  |
| `expires_at` | string | yes |  |
| `from` | string or null | no |  |
| `id` | string | yes |  |
| `per_page_micro` | integer | no |  |
| `price_version` | string | yes |  |
| `quality` | string | no |  |
| `route` | string | yes |  |
| `route_label` | string | no |  |
| `sender_name` | string or null | no |  |
| `to` | string | yes |  |
| `warnings` | array of object | yes |  |

## QuoteCreate

QuoteCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cover` | object or null | no | Cover sheet fields: to_name, from_name, subject, message. Counts as a page. |
| `delete_after_send` | boolean | no | Delete the document and the transmitted copy the moment the fax ends in delivered, partial or failed. The job, its receipt and the carrier evidence stay; they hold no document content. A fax that ends unknown keeps the document until a reconcile settles it. Default: keep the document for the retention period. |
| `document_id` | string | yes |  |
| `from` | string or null | no | A number you own; omit for the shared pool. |
| `quality` | string (standard, fine, superfine, ultra) | no | Fax resolution. standard is the fax standard's 204 by 98 dpi, fine (the default) 204 by 196, superfine 204 by 392. ultra asks the carrier for its darkest text processing at the same superfine resolution and takes longer to process: measured 2026-11-09, a page sent at ultra and one at superfine both arrived as 1728 by 4112 pixels, 204 by 391 dpi. The price does not change. The job echoes the level. |
| `sender_name` | string or null | no | The name that identifies the sender. The carrier gets it as the caller name for its header line. A fax without a cover sheet prints it in one line at the top of page one. The line also gives the sending number and the time in UTC. Letters, digits, spaces and - _ ~ ! . + only, at most 128 characters. Omit to use the organization's name. |
| `to` | string | yes | Destination in E.164, for example +12025550123. |

## Reauth

Reauth fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `credential` | object or null | no |  |
| `method` | string (passkey, magic_link) | yes |  |

## Receipt

Receipt fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount_micro` | integer | yes |  |
| `attempts` | array of object Attempt | yes |  |
| `billable_pages` | integer | yes |  |
| `captured_micro` | integer | yes |  |
| `completed_at` | string or null | yes |  |
| `cover_pages` | integer | no | How many of the billable pages are the cover sheet: 0 or 1. |
| `created_at` | string | yes |  |
| `currency` | string | yes |  |
| `document_sha256` | string | yes |  |
| `evidence` | object or null | yes |  |
| `failure_code` | string or null | yes |  |
| `fax_job_id` | string | yes |  |
| `from` | string or null | no |  |
| `generated_at` | string | yes |  |
| `note` | string | yes |  |
| `one_time` | object OneTimeJob or null | no | Set on the receipt of a fax that a one-time order paid for. It names the order, its status, the card and the amount the card was authorized for. captured_micro in it is the amount charged, written once the payment provider confirmed the capture. For a card order read the money here. Null for a fax paid from the wallet. |
| `pages_sent` | integer | yes |  |
| `provider` | string | yes |  |
| `state` | string | yes |  |
| `to` | string | yes |  |
| `transmitted_sha256` | string or null | yes |  |

## ReleaseRequest

ReleaseRequest fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `confirm` | string or null | no | The number itself, typed out, to confirm. |

## Requested

Requested fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `kind` | string (export, deletion) | yes |  |
| `message` | string | yes |  |
| `requested` | boolean | yes |  |

## ReviewSignIn

ReviewSignIn fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `code` | string (password) | yes |  |
| `email` | string (email) | yes |  |

## Revoked

Revoked fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `revoked` | integer | yes |  |

## SandboxFixture

SandboxFixture fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `destination` | string or null | yes |  |
| `expires_at` | string | yes |  |
| `id` | string | yes |  |
| `scenario` | string | yes |  |

## SandboxInboundCreate

SandboxInboundCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `from` | string or null | no |  |
| `pages` | integer | no |  |
| `partial_content` | boolean | no | Rehearse a cut-off transmission. |
| `to` | string | yes |  |

## SandboxReset

SandboxReset fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `deleted` | object | yes |  |
| `reset` | boolean | yes |  |
| `wallet_available_micro` | integer | yes |  |

## SandboxScenarioCreate

SandboxScenarioCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `destination` | string or null | no | Apply to one destination; omit for every send. |
| `scenario` | string | yes |  |

## SandboxScenarios

SandboxScenarios fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `destinations` | array of object | yes |  |
| `fixtures` | array of object SandboxFixture | yes |  |
| `scenarios` | array of object | yes |  |

## SchemaCreate

SchemaCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | string or null | no |  |
| `name` | string | yes |  |
| `schema` | object | yes |  |

## SenderVerification

SenderVerification fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `from` | string | yes |  |
| `id` | string | yes |  |
| `method` | string | yes |  |
| `number_id` | string or null | yes |  |
| `status` | string | yes |  |
| `verified_at` | string or null | yes |  |

## SenderVerificationCreate

SenderVerificationCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `from` | string | yes | A number your organization owns, E.164. |

## Sent

Sent fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | string | yes |  |
| `sent` | boolean | yes |  |

## ServiceStatus

ServiceStatus fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `database` | boolean | yes |  |
| `environment` | string (live, test) | yes |  |
| `provider` | string | yes |  |
| `status` | string (ok, degraded) | yes |  |
| `status_page` | string or null | no |  |
| `version` | string | yes |  |
| `worker_beat_age_s` | integer or null | no |  |

## SessionInfo

SessionInfo fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `auth_method` | string | yes |  |
| `authenticated_at` | string | yes |  |
| `expires_at` | string | yes |  |
| `fresh` | boolean | yes |  |
| `fresh_until` | string | yes |  |
| `id` | string | yes |  |

## SessionList

SessionList fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of object SessionOut | yes |  |

## SessionOut

SessionOut fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `auth_method` | string | yes |  |
| `authenticated_at` | string | yes |  |
| `created_at` | string | yes |  |
| `current` | boolean | yes |  |
| `expires_at` | string | yes |  |
| `id` | string | yes |  |
| `ip` | string or null | yes |  |
| `last_seen_at` | string | yes |  |
| `user_agent` | string or null | yes |  |

## SignedUrl

SignedUrl fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `content_type` | string | yes |  |
| `expires_at` | string | yes |  |
| `url` | string | yes |  |

## Subscription

Subscription fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cancel_at_period_end` | boolean | yes |  |
| `canceled_at` | string or null | yes |  |
| `created_at` | string | yes |  |
| `current_period_end` | string or null | yes |  |
| `entitled` | boolean | yes |  |
| `id` | string | yes |  |
| `product` | string | yes |  |
| `status` | string | yes |  |
| `stripe_price_id` | string or null | yes |  |
| `stripe_subscription_id` | string | yes |  |
| `updated_at` | string | yes |  |

## SubscriptionCheckout

SubscriptionCheckout fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `product` | string | yes |  |
| `stripe_session_id` | string | yes |  |
| `url` | string | yes |  |

## SubscriptionList

SubscriptionList fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of object Subscription | yes |  |
| `next_cursor` | string or null | no |  |
| `workspace` | boolean | yes |  |

## SummaryCreate

SummaryCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `document_id` | string or null | no |  |
| `inbox_item_id` | string or null | no |  |
| `max_pages` | integer or null | no |  |
| `strict` | boolean | no | Refuse with page_limit_exceeded when the document has more pages than would be read, instead of reading the first ones and warning. |
| `strong_model_if_below` | number | no |  |

## SwitchOrganization

SwitchOrganization fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `org_id` | string | yes |  |

## TopupCreate

TopupCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount_usd` | integer | yes | Whole US dollars, 10 to 1000 per session. |

## TopupSession

TopupSession fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount_micro` | integer | yes |  |
| `auto_topup_id` | string or null | yes |  |
| `completed_at` | string or null | yes |  |
| `created_at` | string | yes |  |
| `currency` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `error` | string or null | yes |  |
| `expires_at` | string or null | yes |  |
| `id` | string | yes |  |
| `kind` | string (manual, auto, setup) | yes |  |
| `status` | string (open, completed, expired, canceled, failed) | yes |  |
| `stripe_payment_intent_id` | string or null | yes |  |
| `stripe_session_id` | string or null | yes |  |
| `url` | string or null | no | The hosted Checkout page while the session is open. |

## TopupSessionPage

TopupSessionPage fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of object TopupSession | yes |  |
| `next_cursor` | string or null | no |  |

## UploadComplete

UploadComplete fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `sha256` | string or null | no | Optional: fail if the bytes differ. |

## UploadCreate

UploadCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `content_type` | string | no | application/pdf, image/png, image/jpeg or image/tiff. An image becomes 8-bit gray letter pages, since fax is monochrome. A frame wider than it is tall is rotated. A frame above 300 dpi letter is downsampled. Every TIFF frame is a page. PNG and JPEG take the first frame. The bytes must be the declared type. |
| `filename` | string | yes |  |
| `size_bytes` | integer | yes |  |

## UploadSession

UploadSession fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `completed_at` | string or null | yes |  |
| `content_type` | string | yes |  |
| `created_at` | string | yes |  |
| `declared_size` | integer | yes |  |
| `expires_at` | string | yes |  |
| `filename` | string | yes |  |
| `id` | string | yes |  |
| `received_size` | integer | yes |  |
| `sha256` | string or null | yes |  |
| `status` | string | yes |  |
| `upload_method` | string or null | no |  |
| `upload_url` | string or null | no |  |
| `upload_url_expires_at` | string or null | no |  |

## UsageExport

UsageExport fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `content_type` | string | yes |  |
| `created_at` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `expires_at` | string | yes |  |
| `id` | string | yes |  |
| `params` | object | yes |  |
| `row_count` | integer | yes |  |
| `status` | string (ready, expired) | yes |  |
| `url` | string or null | yes |  |

## UsageExportCreate

UsageExportCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `from` | string or null | no | ISO date; default 30 days ago. |
| `to` | string or null | no | ISO date; default today. |

## UsageItem

UsageItem fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount_micro` | integer | yes |  |
| `day` | string or null | no |  |
| `destination` | string or null | no |  |
| `direction` | string or null | no |  |
| `jobs` | integer | yes |  |
| `pages` | integer | yes |  |
| `project_id` | string or null | no |  |
| `route` | string or null | no |  |

## UsageReport

UsageReport fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `currency` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `from` | string | yes |  |
| `group_by` | array of string | yes |  |
| `items` | array of object UsageItem | yes |  |
| `to` | string | yes |  |
| `totals` | object | yes |  |

## UserOut

UserOut fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `email` | string | yes |  |
| `email_verified` | boolean | yes |  |
| `id` | string | yes |  |
| `last_login_at` | string or null | yes |  |
| `name` | string or null | yes |  |

## Webhook

Webhook fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `description` | string or null | yes |  |
| `event_types` | array of string | yes |  |
| `id` | string | yes |  |
| `previous_secret_expires_at` | string or null | yes |  |
| `status` | string | yes |  |
| `updated_at` | string | yes |  |
| `url` | string | yes |  |

## WebhookCreate

WebhookCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | string or null | no |  |
| `event_types` | array of string or null | no | Empty or omitted: every event type. |
| `url` | string | yes |  |

## WebhookList

WebhookList fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of object Webhook | yes |  |

## WebhookUpdate

WebhookUpdate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | string or null | no |  |
| `event_types` | array of string or null | no |  |
| `status` | string (active, paused) or null | no |  |
| `url` | string or null | no |  |

## WebhookWithSecret

WebhookWithSecret fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `description` | string or null | yes |  |
| `event_types` | array of string | yes |  |
| `id` | string | yes |  |
| `previous_secret_expires_at` | string or null | yes |  |
| `secret` | string | yes | whsec_... Shown once. Verify webhook-signature with it. |
| `status` | string | yes |  |
| `updated_at` | string | yes |  |
| `url` | string | yes |  |
