# API schemas, A to E

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

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

Updated Nov 13, 2026

54 named objects of the Fax for Agents API, from Accepted to ExtractionSchemaList, 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.

## Accepted

Accepted fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `organization` | object OrganizationSummary | yes |  |

## Agent

Agent fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `budget_id` | string or null | yes |  |
| `budgets` | array of object | yes |  |
| `contact_email` | string or null | yes |  |
| `created_at` | string | yes |  |
| `created_by` | string | yes |  |
| `disabled_at` | string or null | yes |  |
| `enabled` | boolean | yes |  |
| `id` | string | yes |  |
| `keys` | array of object ApiKey | yes |  |
| `name` | string | yes |  |
| `policy_ids` | array of string | yes |  |
| `project_id` | string or null | yes |  |
| `purpose` | string or null | yes |  |
| `status` | string | yes |  |
| `updated_at` | string | yes |  |

## AgentActivity

AgentActivity fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `action` | string | yes |  |
| `actor` | string | yes |  |
| `correlation_id` | string or null | yes |  |
| `created_at` | string | yes |  |
| `data` | object | yes |  |
| `id` | string | yes |  |
| `resource_id` | string or null | yes |  |
| `resource_type` | string | yes |  |

## AgentActivityPage

AgentActivityPage fields

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

## AgentCreate

AgentCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contact_email` | string or null | no | Where decided approvals are mailed. |
| `name` | string | yes |  |
| `policy_ids` | array of string | no |  |
| `purpose` | string or null | no | Shown to humans, never evaluated. |

## AgentKeyCreate

AgentKeyCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `environment` | string (live, test) | no |  |
| `expires_in_days` | integer or null | no |  |
| `label` | string | no |  |
| `scopes` | array of string or null | no | Omit for the default agent set. Never approval:decide, key:admin, policy:admin, agent:admin. |

## AgentList

AgentList fields

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

## AgentUpdate

AgentUpdate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contact_email` | string or null | no |  |
| `enabled` | boolean or null | no | false revokes every key of the agent. |
| `name` | string or null | no |  |
| `policy_ids` | array of string or null | no |  |
| `purpose` | string or null | no |  |

## ApiKey

ApiKey fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `agent_id` | string or null | yes |  |
| `connected_app` | boolean | no | The key belongs to a connected app used over stdio, such as the Gemini CLI extension. The organization's auto-send setting (Settings, Connected apps) binds it like an OAuth connection. |
| `created_at` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `expires_at` | string or null | yes |  |
| `id` | string | yes |  |
| `label` | string | yes |  |
| `last_used_at` | string or null | yes |  |
| `prefix` | string | yes |  |
| `project_id` | string or null | yes |  |
| `revoked_at` | string or null | yes |  |
| `rotated_from_id` | string or null | yes |  |
| `scopes` | array of string | yes |  |

## ApiKeyCreate

ApiKeyCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `connected_app` | boolean | no | This key is for a connected app such as the Gemini CLI extension: the auto-send setting binds it. Not available on an agent's key. |
| `environment` | string (live, test) | no |  |
| `expires_in_days` | integer or null | no |  |
| `label` | string | yes |  |
| `scopes` | array of string or null | no | Omit for the default agent set; '*' for all. |

## ApiKeyList

ApiKeyList fields

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

## ApiKeyWithSecret

ApiKeyWithSecret fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `agent_id` | string or null | yes |  |
| `connected_app` | boolean | no | The key belongs to a connected app used over stdio, such as the Gemini CLI extension. The organization's auto-send setting (Settings, Connected apps) binds it like an OAuth connection. |
| `created_at` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `expires_at` | string or null | yes |  |
| `id` | string | yes |  |
| `label` | string | yes |  |
| `last_used_at` | string or null | yes |  |
| `prefix` | string | yes |  |
| `project_id` | string or null | yes |  |
| `revoked_at` | string or null | yes |  |
| `rotated_from_id` | string or null | yes |  |
| `scopes` | array of string | yes |  |
| `secret` | string | yes | Shown once. Store it now; it cannot be read back. |

## ApprovalDecision

ApprovalDecision fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `reason` | string or null | no |  |

## ApprovalRequest

ApprovalRequest fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bound` | object | yes |  |
| `consumed_by_job_id` | string or null | yes |  |
| `created_at` | string | yes |  |
| `decided_at` | string or null | yes |  |
| `decided_by` | string or null | yes |  |
| `expires_at` | string or null | yes |  |
| `id` | string | yes |  |
| `kind` | string (send, help) | yes |  |
| `message` | string or null | yes |  |
| `notified` | boolean or null | no | On creation: whether the organization was mailed. false when the request repeats a pending one or the organization's daily cap of request mails is reached; the request is still shown in the dashboard. |
| `quote_id` | string or null | yes |  |
| `reason` | string or null | yes |  |
| `requested_by` | string | yes |  |
| `status` | string (pending, approved, rejected, revoked, expired) | yes |  |

## ApprovalRequestCreate

ApprovalRequestCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `fax_job_id` | string or null | no |  |
| `kind` | string (send, help) | no |  |
| `message` | string or null | no | What the person should know (kind help). Shown as data. |
| `quote_id` | string or null | no | The quote to bind (kind send). |

## ApprovalRequestPage

ApprovalRequestPage fields

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

## Attempt

Attempt fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `attempt_number` | integer | yes |  |
| `error` | string or null | yes |  |
| `evidence` | object or null | yes |  |
| `failure_code` | string or null | yes |  |
| `fax_job_id` | string | yes |  |
| `finished_at` | string or null | yes |  |
| `id` | string | yes |  |
| `pages_sent` | integer | yes |  |
| `provider` | string | yes |  |
| `provider_ref` | string or null | yes |  |
| `started_at` | string | yes |  |
| `status` | string | yes |  |

## AttemptPage

AttemptPage fields

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

## AutoSendSetting

The organization's auto-send setting for one environment: Settings, Connected apps, "Let connected apps send without asking". Stored as the managed policy ``policy_id`` (docs/APPROVALS.md).

AutoSendSetting fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `daily_max_jobs` | integer | yes | Faxes per UTC day, at most, across every connected app. |
| `enabled` | boolean | yes |  |
| `environment` | string (live, test) | yes |  |
| `max_amount_micro` | integer | yes | Amount per fax, at most, in micro-units of USD. |
| `policy_id` | string or null | yes | The managed policy; null before the first enable. |
| `version` | integer or null | yes |  |

## AutoSendUpdate

AutoSendUpdate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `daily_max_jobs` | integer | no | Faxes per UTC day. |
| `enabled` | boolean | yes |  |
| `max_amount_micro` | integer | no | Amount per fax, at most, in micro-units of USD (5000000 = $5.00). |

## AutoTopup

AutoTopup fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount_micro` | integer | yes |  |
| `created_at` | string | yes |  |
| `daily_cap_micro` | integer | yes |  |
| `disabled_at` | string or null | yes |  |
| `environment` | string (live, test) | yes |  |
| `id` | string | yes |  |
| `last_attempt_at` | string or null | yes |  |
| `payment_method_saved` | boolean | yes |  |
| `setup_session_id` | string or null | yes |  |
| `setup_url` | string or null | no | Where to save the card while status is pending_setup. |
| `status` | string (pending_setup, active, disabled) | yes |  |
| `threshold_micro` | integer | yes |  |
| `updated_at` | string | yes |  |

## AutoTopupCreate

AutoTopupCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount_micro` | integer | yes | Whole dollars, 10 to 1000 USD. |
| `daily_cap_micro` | integer | yes | Never more than this per UTC day. |
| `threshold_micro` | integer | yes | Top up when the available balance drops below this. |

## AutoTopupList

AutoTopupList fields

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

## Balance

Balance fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `available_micro` | integer | yes |  |
| `currency` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `held_micro` | integer | yes |  |
| `top_up_url` | string or null | no | The dashboard page where a person adds funds to the wallet. A key cannot top up. |

## BillingSettings

BillingSettings fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `billing_email` | string or null | yes |  |
| `disputed` | boolean | yes |  |
| `low_balance_active` | boolean | yes |  |
| `low_balance_threshold_micro` | integer | yes |  |
| `org_id` | string | yes |  |
| `stripe_customer` | boolean | yes |  |
| `workspace` | boolean | yes |  |

## BillingSettingsPatch

BillingSettingsPatch fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `billing_email` | string (email) or null | no |  |
| `low_balance_threshold_micro` | integer or null | no |  |

## Budget

Budget fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `agent_id` | string or null | yes |  |
| `created_at` | string | yes |  |
| `environment` | string (live, test) | yes |  |
| `id` | string | yes |  |
| `limit_micro` | integer | yes |  |
| `period` | string (daily, monthly) | yes |  |
| `project_id` | string or null | yes |  |
| `remaining_micro` | integer | yes |  |
| `resets_at` | string | yes |  |
| `scope` | string (organization, project, agent) | yes |  |
| `spent_micro` | integer | yes |  |
| `status` | string (active, disabled) | yes |  |
| `updated_at` | string | yes |  |

## BudgetCreate

BudgetCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `agent_id` | string or null | no |  |
| `limit_micro` | integer | yes |  |
| `period` | string (daily, monthly) | yes |  |
| `project_id` | string or null | no |  |
| `scope` | string (organization, project, agent) | no |  |

## BudgetList

BudgetList fields

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

## BudgetPatch

BudgetPatch fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit_micro` | integer or null | no |  |
| `status` | string (active, disabled) or null | no |  |

## Capabilities

Capabilities fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `approvals` | boolean | yes |  |
| `environment` | string (live, test) | yes |  |
| `extraction` | boolean | yes |  |
| `extraction_pricing` | object | no | What POST /v1/extractions charges, in micro-units. page_micro is for every page read. escalated_page_micro is added for a page the stronger model reads again. max_pages is the most pages one extraction reads. Sandbox extractions are free. |
| `formats` | array of string | yes |  |
| `limits` | object | yes |  |
| `max_pages` | integer | yes |  |
| `max_upload_bytes` | integer | yes |  |
| `numbers` | boolean | yes |  |
| `one_time` | object | yes |  |
| `price_version` | string | yes |  |
| `provider` | string | yes |  |
| `rates` | object | yes |  |
| `receive` | boolean | yes |  |
| `routes` | array of string | yes |  |
| `scopes` | array of string | yes |  |
| `send` | boolean | yes |  |

## ClassificationCreate

ClassificationCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `abstain_below` | number | no |  |
| `document_id` | string or null | no |  |
| `document_types` | array of string | yes |  |
| `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 |  |

## Correction

Correction fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `created_by` | string | yes |  |
| `extraction_id` | string | yes |  |
| `field` | string | yes |  |
| `id` | string | yes |  |
| `note` | string or null | yes |  |
| `value` | any | yes |  |

## CorrectionCreate

CorrectionCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `field` | string or null | no |  |
| `note` | string or null | no |  |
| `value` | any | no |  |

## Coverage

Coverage fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `coverage_version` | string or null | yes |  |
| `excluded` | object | yes |  |
| `generated_at` | string or null | yes |  |
| `inbound` | object | yes |  |
| `note` | string or null | yes |  |
| `orderable_now` | array of string | yes |  |
| `outbound` | object | yes |  |

## Deleted

Deleted fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `deleted` | boolean | no |  |
| `id` | string | yes |  |

## Delivery

Delivery fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `attempt` | integer | yes |  |
| `created_at` | string | yes |  |
| `delivered_at` | string or null | yes |  |
| `duration_ms` | integer or null | yes |  |
| `error` | string or null | yes |  |
| `event_id` | string | yes |  |
| `event_type` | string | yes |  |
| `id` | string | yes |  |
| `next_attempt_at` | string or null | yes |  |
| `replay_of` | string or null | yes |  |
| `response_status` | integer or null | yes |  |
| `schedule_s` | array of integer | yes |  |
| `status` | string | yes |  |
| `webhook_id` | string | yes |  |

## DeliveryPage

DeliveryPage fields

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

## Document

Document fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `content_type` | string | yes |  |
| `created_at` | string | yes |  |
| `deleted_at` | string or null | yes |  |
| `environment` | string (live, test) | yes |  |
| `expires_at` | string or null | yes |  |
| `filename` | string | yes |  |
| `id` | string | yes |  |
| `page_count` | integer | yes |  |
| `render_reason` | string or null | yes |  |
| `render_status` | string | yes |  |
| `sha256` | string | yes |  |
| `size_bytes` | integer | yes |  |
| `source` | string | yes |  |
| `status` | string | yes |  |
| `upload_id` | string or null | yes |  |
| `validation` | object | yes |  |

## DocumentCreate

Send exactly one of text, markdown, html or upload_id.

DocumentCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `filename` | string or null | no |  |
| `html` | string or null | no | HTML rendered to PDF by a headless browser with scripts off and no network: inline CSS and data: images print, external resources are counted as blocked. US letter unless @page says otherwise. At most 2 MiB. |
| `markdown` | string or null | no | Markdown (headings, lists, emphasis, code) rendered to PDF. |
| `text` | string or null | no | Plain text rendered to a letter PDF. |
| `upload_id` | string or null | no |  |

## DocumentPage

DocumentPage fields

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

## DocumentPages

DocumentPages fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `document_id` | string | yes |  |
| `items` | array of object PagePreview | yes |  |
| `page_count` | integer | yes |  |
| `render_reason` | string or null | yes |  |
| `render_status` | string | yes |  |

## DocumentValidation

DocumentValidation fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | yes |  |
| `page_count` | integer | yes |  |
| `render_reason` | string or null | yes |  |
| `render_status` | string | yes |  |
| `status` | string | yes |  |
| `warnings` | array of object | yes |  |

## EffectivePolicies

EffectivePolicies fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `actor` | string | yes |  |
| `approval_required_without_policy` | boolean | yes |  |
| `environment` | string (live, test) | yes |  |
| `policies` | array of object Policy | yes |  |
| `requires_human_approval` | boolean | no | Server-set for hosted integration clients and their keys: every send needs a person's approval, whatever the policies say. |
| `rules_order` | array of string | yes |  |
| `under_policy` | boolean | yes |  |

## ErrorBody

ErrorBody fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `code` | string | yes |  |
| `correlation_id` | string or null | no |  |
| `details` | any | no |  |
| `message` | string | yes |  |
| `retryable` | boolean | yes |  |

## ErrorEnvelope

ErrorEnvelope fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | object ErrorBody | yes |  |

## Event

Event fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `correlation_id` | string or null | yes |  |
| `created_at` | string | yes |  |
| `data` | object | yes |  |
| `environment` | string (live, test) | yes |  |
| `fax_job_id` | string or null | yes |  |
| `id` | string | yes |  |
| `org_id` | string | yes |  |
| `project_id` | string or null | yes |  |
| `resource_id` | string | yes |  |
| `resource_type` | string | yes |  |
| `schema_version` | integer | yes |  |
| `type` | string | yes |  |

## EventPage

EventPage fields

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

## Extraction

Extraction fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `completed_at` | string or null | yes |  |
| `confidence` | number or null | yes |  |
| `corrections` | array of object or null | no |  |
| `created_at` | string | yes |  |
| `created_by` | string | yes |  |
| `currency` | string | yes |  |
| `document_id` | string | yes |  |
| `document_pages` | integer | yes | The document's page count. Above pages_processed on a completed row means the cap left pages unread; output.truncated and a warning say so. |
| `environment` | string (live, test) | yes |  |
| `error_code` | string or null | yes |  |
| `id` | string | yes |  |
| `inbox_item_id` | string or null | yes |  |
| `kind` | string (extract, classify, summarize) | yes |  |
| `models` | object | yes |  |
| `options` | object | yes |  |
| `output` | object or null | yes |  |
| `pages` | array of object ExtractionPage | yes |  |
| `pages_escalated` | integer | yes |  |
| `pages_processed` | integer | yes |  |
| `pages_requested` | integer | yes |  |
| `price_micro` | integer | yes |  |
| `schema` | object or null | no |  |
| `schema_id` | string or null | yes |  |
| `started_at` | string or null | yes |  |
| `status` | string (pending, queued, running, completed, failed) | yes |  |

## ExtractionCreate

ExtractionCreate fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `document_id` | string or null | no |  |
| `inbox_item_id` | string or null | no |  |
| `max_pages` | integer or null | no |  |
| `schema` | object or null | no | A JSON Schema object of string, number, boolean or date fields with descriptions. |
| `schema_id` | string 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 |  |

## ExtractionPage

ExtractionPage fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `confidence` | number | yes |  |
| `escalated` | boolean | no |  |
| `language` | string or null | no |  |
| `model` | string | yes |  |
| `page` | integer | yes |  |
| `status` | string | yes |  |
| `text` | string | yes |  |
| `warnings` | array of string | no |  |

## ExtractionPageList

ExtractionPageList fields

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

## ExtractionSchema

ExtractionSchema fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `created_at` | string | yes |  |
| `created_by` | string | yes |  |
| `description` | string or null | yes |  |
| `id` | string | yes |  |
| `name` | string | yes |  |
| `schema` | object | yes |  |
| `status` | string | yes |  |
| `version` | integer | yes |  |

## ExtractionSchemaList

ExtractionSchemaList fields

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