Fax for Agents Extractions API

The extractions API from Fax for Agents — 9 operation(s) for extractions.

Operations 13

POST /v1/extractions Read a received fax or a document: OCR per page, then fields against a schema #
GET /v1/extractions Extractions, newest first #
GET /v1/extractions/{extraction_id} One extraction with its corrections #
POST /v1/extractions/{extraction_id}/corrections Record a reviewer's correction of one field (stored beside the extraction… #
POST /v1/classifications Classify a received fax or a document into one of your document types, or… #
GET /v1/classifications Classifications, newest first #
GET /v1/classifications/{classification_id} One classification #
POST /v1/document-summaries Summarise a received fax or a document; every sentence cites its pages #
GET /v1/document-summaries Summaries, newest first #
GET /v1/document-summaries/{summary_id} One summary #
GET /v1/extraction-schemas Your extraction schemas #
POST /v1/extraction-schemas Save a versioned extraction schema (the same name again is the next version) #
GET /v1/extraction-schemas/{schema_id} One schema version #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/faxforagents:faxforagents-extractions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

faxforagents-extractions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Faxforagents Extractions API
  version: 1.4.3
  contact:
    name: Fax for Agents
    url: https://faxforagents.com/contact/
    email: hello@faxforagents.com
  termsOfService: https://faxforagents.com/terms/
  x-refined-note:
  - x-snapshot differs across the merged source definitions and was not carried
  description: 'Operations tagged extractions across 2 of this provider''s published API definitions: faxforagents-api-openapi.json, faxforagents-site-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.faxforagents.com
  description: Production
tags:
- name: Extractions
paths:
  /v1/extractions:
    post:
      tags:
      - Extractions
      summary: 'Read a received fax or a document: OCR per page, then fields against a schema'
      operationId: create_extraction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtractionCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Extraction'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Extractions
      summary: Extractions, newest first
      operationId: list_extractions
      parameters:
      - name: inbox_item_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Inbox Item Id
      - name: document_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Id
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Cursor
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          default: 50
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionPageList'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/extractions/{extraction_id}:
    get:
      tags:
      - Extractions
      summary: One extraction with its corrections
      operationId: get_extraction
      parameters:
      - name: extraction_id
        in: path
        required: true
        schema:
          type: string
          title: Extraction Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Extraction'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/extractions/{extraction_id}/corrections:
    post:
      tags:
      - Extractions
      summary: Record a reviewer's correction of one field (stored beside the extraction…
      operationId: create_correction
      parameters:
      - name: extraction_id
        in: path
        required: true
        schema:
          type: string
          title: Extraction Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CorrectionCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Correction'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/classifications:
    post:
      tags:
      - Extractions
      summary: Classify a received fax or a document into one of your document types, or…
      operationId: create_classification
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClassificationCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Extraction'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Extractions
      summary: Classifications, newest first
      operationId: list_classifications
      parameters:
      - name: inbox_item_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Inbox Item Id
      - name: document_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Id
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Cursor
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          default: 50
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionPageList'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/classifications/{classification_id}:
    get:
      tags:
      - Extractions
      summary: One classification
      operationId: get_classification
      parameters:
      - name: classification_id
        in: path
        required: true
        schema:
          type: string
          title: Classification Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Extraction'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/document-summaries:
    post:
      tags:
      - Extractions
      summary: Summarise a received fax or a document; every sentence cites its pages
      operationId: create_document_summary
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummaryCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Extraction'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Extractions
      summary: Summaries, newest first
      operationId: list_document_summaries
      parameters:
      - name: inbox_item_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Inbox Item Id
      - name: document_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Document Id
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Cursor
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          default: 50
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionPageList'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/document-summaries/{summary_id}:
    get:
      tags:
      - Extractions
      summary: One summary
      operationId: get_document_summary
      parameters:
      - name: summary_id
        in: path
        required: true
        schema:
          type: string
          title: Summary Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Extraction'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/extraction-schemas:
    get:
      tags:
      - Extractions
      summary: Your extraction schemas
      operationId: list_extraction_schemas
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionSchemaList'
    post:
      tags:
      - Extractions
      summary: Save a versioned extraction schema (the same name again is the next version)
      operationId: create_extraction_schema
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchemaCreate'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/extraction-schemas/{schema_id}:
    get:
      tags:
      - Extractions
      summary: One schema version
      operationId: get_extraction_schema
      parameters:
      - name: schema_id
        in: path
        required: true
        schema:
          type: string
          title: Schema Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    SummaryCreate:
      properties:
        inbox_item_id:
          anyOf:
          - type: string
            pattern: ^[a-z]{2,8}_[0-9a-f]{32}$
          - type: 'null'
          title: Inbox Item Id
        document_id:
          anyOf:
          - type: string
            pattern: ^[a-z]{2,8}_[0-9a-f]{32}$
          - type: 'null'
          title: Document Id
        max_pages:
          anyOf:
          - type: integer
            maximum: 200.0
            minimum: 1.0
          - type: 'null'
          title: Max Pages
        strict:
          type: boolean
          title: Strict
          description: Refuse with page_limit_exceeded when the document has more pages than would be read, instead of reading the first ones and warning.
          default: false
        strong_model_if_below:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Strong Model If Below
          default: 0.75
      additionalProperties: false
      type: object
      title: SummaryCreate
    Correction:
      properties:
        id:
          type: string
          title: Id
        extraction_id:
          type: string
          title: Extraction Id
        field:
          type: string
          title: Field
        value:
          title: Value
        note:
          anyOf:
          - type: string
          - type: 'null'
          title: Note
        created_by:
          type: string
          title: Created By
        created_at:
          type: string
          title: Created At
      additionalProperties: true
      type: object
      required:
      - id
      - extraction_id
      - field
      - value
      - note
      - created_by
      - created_at
      title: Correction
    Extraction:
      properties:
        id:
          type: string
          title: Id
        kind:
          type: string
          enum:
          - extract
          - classify
          - summarize
          title: Kind
        status:
          type: string
          enum:
          - pending
          - queued
          - running
          - completed
          - failed
          title: Status
        environment:
          type: string
          enum:
          - live
          - test
          title: Environment
        document_id:
          type: string
          title: Document Id
        inbox_item_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Inbox Item Id
        schema_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Schema Id
        schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Schema
        options:
          additionalProperties: true
          type: object
          title: Options
        pages_requested:
          type: integer
          title: Pages Requested
        pages_processed:
          type: integer
          title: Pages Processed
        pages_escalated:
          type: integer
          title: Pages Escalated
        document_pages:
          type: integer
          title: Document Pages
          description: 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.
        confidence:
          anyOf:
          - type: number
          - type: 'null'
          title: Confidence
        pages:
          items:
            $ref: '#/components/schemas/ExtractionPage'
          type: array
          title: Pages
        output:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Output
        models:
          additionalProperties: true
          type: object
          title: Models
        price_micro:
          type: integer
          title: Price Micro
        provider_cost_micro:
          type: integer
          title: Provider Cost Micro
        currency:
          type: string
          title: Currency
        error_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Code
        created_by:
          type: string
          title: Created By
        created_at:
          type: string
          title: Created At
        started_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Started At
        completed_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Completed At
        corrections:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Corrections
      additionalProperties: true
      type: object
      required:
      - id
      - kind
      - status
      - environment
      - document_id
      - inbox_item_id
      - schema_id
      - options
      - pages_requested
      - pages_processed
      - pages_escalated
      - document_pages
      - confidence
      - pages
      - output
      - models
      - price_micro
      - provider_cost_micro
      - currency
      - error_code
      - created_by
      - created_at
      - started_at
      - completed_at
      title: Extraction
    CorrectionCreate:
      properties:
        field:
          anyOf:
          - type: string
            maxLength: 120
          - type: 'null'
          title: Field
        value:
          title: Value
        note:
          anyOf:
          - type: string
            maxLength: 1000
          - type: 'null'
          title: Note
      additionalProperties: false
      type: object
      title: CorrectionCreate
    ExtractionSchemaList:
      properties:
        items:
          items:
            $ref: '#/components/schemas/ExtractionSchema'
          type: array
          title: Items
      additionalProperties: true
      type: object
      required:
      - items
      title: ExtractionSchemaList
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ExtractionSchema:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        version:
          type: integer
          title: Version
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        schema:
          additionalProperties: true
          type: object
          title: Schema
        status:
          type: string
          title: Status
        created_by:
          type: string
          title: Created By
        created_at:
          type: string
          title: Created At
      additionalProperties: true
      type: object
      required:
      - id
      - name
      - version
      - description
      - schema
      - status
      - created_by
      - created_at
      title: ExtractionSchema
    ClassificationCreate:
      properties:
        inbox_item_id:
          anyOf:
          - type: string
            pattern: ^[a-z]{2,8}_[0-9a-f]{32}$
          - type: 'null'
          title: Inbox Item Id
        document_id:
          anyOf:
          - type: string
            pattern: ^[a-z]{2,8}_[0-9a-f]{32}$
          - type: 'null'
          title: Document Id
        max_pages:
          anyOf:
          - type: integer
            maximum: 200.0
            minimum: 1.0
          - type: 'null'
          title: Max Pages
        strict:
          type: boolean
          title: Strict
          description: Refuse with page_limit_exceeded when the document has more pages than would be read, instead of reading the first ones and warning.
          default: false
        document_types:
          items:
            type: string
          type: array
          maxItems: 30
          minItems: 1
          title: Document Types
        abstain_below:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Abstain Below
          default: 0.6
        strong_model_if_below:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Strong Model If Below
          default: 0.75
      additionalProperties: false
      type: object
      required:
      - document_types
      title: ClassificationCreate
    SchemaCreate:
      properties:
        name:
          type: string
          maxLength: 120
          minLength: 1
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 500
          - type: 'null'
          title: Description
        schema:
          additionalProperties: true
          type: object
          title: Schema
      additionalProperties: false
      type: object
      required:
      - name
      - schema
      title: SchemaCreate
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ExtractionCreate:
      properties:
        inbox_item_id:
          anyOf:
          - type: string
            pattern: ^[a-z]{2,8}_[0-9a-f]{32}$
          - type: 'null'
          title: Inbox Item Id
        document_id:
          anyOf:
          - type: string
            pattern: ^[a-z]{2,8}_[0-9a-f]{32}$
          - type: 'null'
          title: Document Id
        max_pages:
          anyOf:
          - type: integer
            maximum: 200.0
            minimum: 1.0
          - type: 'null'
          title: Max Pages
        strict:
          type: boolean
          title: Strict
          description: Refuse with page_limit_exceeded when the document has more pages than would be read, instead of reading the first ones and warning.
          default: false
        schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Schema
          description: A JSON Schema object of string, number, boolean or date fields with descriptions.
        schema_id:
          anyOf:
          - type: string
            pattern: ^[a-z]{2,8}_[0-9a-f]{32}$
          - type: 'null'
          title: Schema Id
        strong_model_if_below:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Strong Model If Below
          default: 0.75
      additionalProperties: false
      type: object
      title: ExtractionCreate
    ExtractionPage:
      properties:
        page:
          type: integer
          title: Page
        text:
          type: string
          title: Text
        confidence:
          type: number
          title: Confidence
        language:
          anyOf:
          - type: string
          - type: 'null'
          title: Language
        status:
          type: string
          title: Status
        model:
          type: string
          title: Model
        escalated:
          type: boolean
          title: Escalated
          default: false
        warnings:
          items:
            type: string
          type: array
          title: Warnings
          default: []
      additionalProperties: true
      type: object
      required:
      - page
      - text
      - confidence
      - status
      - model
      title: ExtractionPage
    ExtractionPageList:
      properties:
        items:
          items:
            $ref: '#/components/schemas/Extraction'
          type: array
          title: Items
        next_cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: Next Cursor
      additionalProperties: true
      type: object
      required:
      - items
      title: ExtractionPageList
x-refined-from:
- faxforagents-api-openapi.json
- faxforagents-site-openapi.json