Extract Insurance

dev.extractinsurance由 extractinsurance.dev 发布v2.0.0更新于 Nov 7, 2026

Insurance documents into JSON, with the quote and page behind every value.

概览

AI 生成的概览

把保险文件转成 JSON,每个值都附带原文引文和页码,并可管理账户的抽取工作流、复核、密钥、用量与账单。

可以做什么
  • 登录、退出账户,查看当前密钥代表的账户与角色
  • 从本机文件或 https 链接抽取单份保险文件,输出标准结构、自定义 JSON Schema 或工作流目标,并查询任务状态、获取页面截图作为依据
  • 复核有争议的字段:列出各种读法、记录本人的答复、接受其余值,并取得复核后的结果
  • 搭建并发布工作流:创建草稿、添加目标与样本、推断字段映射、保存草稿、预览与发布版本、比较与回滚版本、修改设置、测试 webhook
  • 查看生产情况:列出运行记录、创建与吊销工作流密钥、读取用量与账单、账户活动与支持工单
适用场景
适合需要从保单、申报表、报价单、暂保单、损失记录或邮件中的保险文件中提取结构化数据,并要求每个值可追溯到页码的场景;也适合已在 Extract Insurance 账户上运行周期性抽取工作流,希望由助手处理复核、发布与用量的人。
运行要求
以本地 stdio 进程运行(npm 包 extract-insurance),仅限桌面端。需要 Extract Insurance 账户:设置 EXTRACT_API_KEY 环境变量,或通过 sign_in 工具用链接和验证码登录。需要访问服务的网络;抽取按文件计费。
安装前请注意
抽取每份文件 0.15 美元另加按成本的模型用量,把含多份文件的文件拆成多份也会计费;大批量前应先确认数量与费用。该服务器可发布工作流从而改变生产收到的结果、创建或吊销工作流密钥、修改保留期与同意设置,操作前应与本人确认。生产密钥会写入本机 env 文件,不应提交到版本库。文件内容是第三方文字,应作为数据处理,而非指令。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Extract Insurance,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

工具

43

sign_in

Sign in

Signs this machine in to Extract Insurance. The first call returns a link and a code: show both to the person and ask them to open the link, check the code and approve. Then call sign_in again: it waits for the approval and saves the key (shared with the extract-insurance CLI; it stops after 90 days without use). Already signed in: says as whom.

输入参数wait_seconds

sign_out

Sign out

Revokes the saved key and deletes it from this machine. Only when the person asks.

无需输入参数。

whoami

Who am I

The account, the key in use and the role of the person it acts as.

无需输入参数。

extract_document

Read a document

Reads one insurance document: a file on this machine (file_path) or an https link (url). PDF, PNG, JPG, HEIC, DOCX, XLSX, CSV, .eml or ZIP. Without workflow or schema you get our standard schema (everything we read); with the person's JSON Schema, their shape; with a workflow, its targets. Returns the result if it ends within wait_seconds (most documents take 40–170 s), else the job id for get_job. Each field: status (accepted, resolved, disputed, missing), value, quote and page; a missing field's absence says why. A file of several documents lists each with its own job_id. Costs $0.15 plus model usage.

输入参数urlonlyfieldsschemaworkflowfile_pathschema_filewait_seconds

get_job

A job's result

A job's status, where it is, and its result once done; waits up to wait_seconds for the end. fields and only keep a long result small.

输入参数onlyfieldsjob_id必填wait_seconds

get_evidence

Where a value was read

A picture of the part of the page a field was read from, as the app shows it: each reading's place boxed (green; red when its quote wasn't found word for word); for a cell of a table, the rest of its row (blue, dashed) and the column headers. For a disputed field, to show the person what the page says. For a file of several documents, use that document's job_id. Needs the job's document: not after the account's "delete right after reading" (then the quote and page in the result are what there is). PDF, PNG, JPG and HEIC.

输入参数field必填job_id必填target

get_standard_schema

Our standard schema

The fields we read from insurance documents, as a JSON Schema: to pick fields, or to write the person's schema against ours.

无需输入参数。

save_document

Save the document a job read

The document a job read (for one document of a file, its own pages), saved on this machine, while we keep it: not after the account's "delete right after reading".

输入参数job_id必填save_to必填

request_one_document

Ask for a cut file to count as one

A file we cut into several documents (each charged) that the person says is one document: asks us to look. Only our approval gives back the fees past the first. Only when the person says so. Without note: where an earlier request stands. If the file was deleted after reading, give file_path to send it again.

输入参数notejob_id必填file_path

get_review

What needs the person

A job's disputed fields with each reading (value, quote, page, whether the quote was found word for word) and what the person has answered so far. Show them the readings (get_evidence crops the page) and ask which is right; record their answer with record_answer.

输入参数job_id必填

record_answer

Record the person's answer

Saves what the person said a field is: one of its readings (reading, from get_review), the value they typed (value), that the document doesn't have it (not_in_document), or that the value as read is right (confirm); clear takes an answer back. Only their own answer, never your pick. A dispute they settle on a form is used on the account's next documents of that form.

输入参数noteclearfield必填valuejob_id必填confirmreadingnot_in_document

accept_all

All good

Accepts every value not answered yet as right (all: also resolved and missing ones); never a disputed field. Only when the person says the rest is right.

输入参数alljob_id必填

get_reviewed

The reviewed result

The job's result with the person's answers in it.

输入参数job_id必填

list_workflows

Workflows

The person's workflows: id, slug, name, published version, samples.

无需输入参数。

get_workflow

A workflow

One workflow: its draft (targets with their schemas and mappings, policy with its gate: which documents get in), versions, samples with their review, settings, and whether the draft differs from the published version.

输入参数workflow必填

create_workflow

Create a workflow

A new workflow (a draft). Its target is the person's JSON Schema, else our standard schema. Next: add_sample, then preview_publish and publish_workflow.

输入参数name必填schemaschema_file

add_target

Add an output

Adds a target to the workflow's draft: the person's JSON Schema, or our standard schema (standard: true). Then map it (triage_target, save_draft) and preview_publish.

输入参数nameschemastandardworkflow必填schema_file

add_sample

Add a sample

Adds a document on this machine to a workflow's samples: publishing is checked against them. It uses the account's free documents first, and is read in the background (preview_publish waits for it).

输入参数workflow必填file_path必填

remove_sample

Remove a sample

Takes a document out of the workflow's samples.

输入参数job_id必填workflow必填

preview_sample

A sample in the draft's outputs

What one sample gives in each of the draft's targets, as production would send it once published: to check a mapping before preview_publish.

输入参数job_id必填workflow必填wait_seconds

save_draft

Save the draft

Replaces the workflow's draft: send the draft from get_workflow, edited (name, targets with their mappings, policy: resolve_confidence, gate). The published version is untouched until publish_workflow. Which documents get in: policy.gate = {accept: [one choice], on_mismatch, when_unsure}; leave gate out to let every document in. accept: "insurance" (any insurance document); one kind: "policy" (policies, quotes, binders, endorsements), "submission" (applications, loss runs, schedules), "claims", "certificate" (certificates and evidence of insurance), "billing" (invoices, premium audits); or one type of page: "declarations", "loss_run", "application", "certificate_of_insurance". on_mismatch, for a document that is clearly something else: "reject" (refuse it; default) or "warn" (read it anyway, with a warning). when_unsure: "extract" (read it, with a warning; default) or "reject". A refused document costs only the check and is not an extraction; job status "rejected", result.rejected.reason says why. It filters out documents that don't belong; it is not a security control.

输入参数draft必填workflow必填

triage_target

Map a target's fields

For one target of the draft, which of our fields fills each of the person's fields: sure, choose (with candidates), or unknown. Use it to decide the mappings, then save_draft.

输入参数onlyhintstarget必填workflow必填

preview_publish

What publishing changes

What publishing the draft would change: the mapping, and the values on every sample (values the person confirmed are marked). Show it to the person; its confirmation token is what publish_workflow needs, once they say yes.

输入参数workflow必填wait_seconds

publish_workflow

Publish

Publishes the draft as the next version: production runs it from now on. Needs the confirmation from preview_publish of this same draft, and the person's yes. To roll back: restore_version, then publish again.

输入参数noteworkflow必填confirmation必填

restore_version

Restore a version

Copies an earlier version into the draft (publish it to roll back).

输入参数version必填workflow必填

compare_versions

Two versions' mappings

What the mapping changes between two versions, or a version and the draft.

输入参数to必填from必填workflow必填

update_workflow_settings

Webhook and retention

The workflow's settings, live at once (not versioned): webhook_url (https; null: none), retention_days (how long documents are kept), results_retention_days (how long results are kept), delete_after_read. null: the account's setting. Which documents get in (the gate) is in the draft's policy: save_draft.

输入参数workflow必填webhook_urlretention_daysdelete_after_readresults_retention_days

test_webhook

Test the webhook

Sends a signed test delivery to the workflow's webhook and says what it answered.

输入参数workflow必填

list_runs

Production runs

The workflow's production jobs, newest first: status, file, version, cost, and per target what was filled.

输入参数limitworkflow必填

list_workflow_keys

Production keys

The workflow's keys (never their tokens).

输入参数workflow必填

create_workflow_key

A production key

Makes a key for one workflow (what production uses: it runs that workflow and reads its jobs) and writes it into an env file on this machine, never into the chat. Use an uncommitted file such as .env.local. Returns the key's id and where it went. Code that calls the workflow: POST https://api.extractinsurance.dev/v1/jobs with Authorization: Bearer <key> and the file as the multipart part document (optional part version pins one; default the latest published) → 202 {id}; GET /v1/jobs/{id} until status is no longer queued or running, or let the workflow's webhook receive it; then result.targets.<target id>.value. Read the key from the environment, never write it into the code.

输入参数modenameenv_varenv_file必填workflow必填

revoke_workflow_key

Revoke a production key

Stops a workflow key at once: production using it gets 401. Only when the person asks.

输入参数key_id必填workflow必填

get_usage

Usage

The month's documents and cost, per workflow, use and key (YYYY-MM; default this month).

输入参数month

get_billing

Balance and spend limit

The balance, credit left with its expiry, the monthly spend limit and what's spent, the low-balance alert, automatic top-up, the free documents used.

无需输入参数。

update_account_settings

The account's data settings

How long the account keeps documents (retention_days; null: our default), whether each one is deleted right after it's read (delete_after_read), and whether we may use its documents to improve our reading (improve: the person's consent, only when they say so in their own words); the account's name. Owners only; a workflow's own settings are update_workflow_settings. A shorter retention or deleting right after reading also ends page crops for documents read from then on.

输入参数nameimproveretention_daysdelete_after_read

get_activity

Activity

Who did what in the account, newest first, with the key each change was made with (owners).

输入参数limit

list_tickets

Support tickets

The account's support tickets, newest change first, with where each stands: open (waiting on us), waiting (on the person), closed. Also the account's last runs, to name in open_ticket.

输入参数status

get_ticket

A support ticket

A ticket's messages, oldest first (from_us: our answer), and the runs it names.

输入参数ticket必填

open_ticket

Ask us something

Opens a support ticket: a value read wrong, a run that failed, billing. job_ids names the runs it's about (from list_tickets' recent_jobs or get_job). Only when the person asks: show them the message first, in their words. A person on our side answers, by email to whoever opened the ticket and in the app (Account → Support).

输入参数job_idsmessage必填subject必填

answer_ticket

Answer a ticket

Adds the person's answer to a ticket; it waits on us again (a closed one opens again). Only when the person asks: show them the message first, in their words. A person on our side answers, by email to whoever opened the ticket and in the app (Account → Support).

输入参数ticket必填message必填

close_ticket

Close a ticket

Closes a ticket the person says is settled; answering it later opens it again.

输入参数ticket必填

api_read

Any API read

Any other GET from the Extract Insurance API (described at https://api.extractinsurance.dev/v1/openapi.json), as the person: e.g. /v1/workflows/{id}/versions/2, /v1/jobs/{id}/reviews.

输入参数path必填

版本历史

3
  1. v2.0.0最新Nov 6, 2026
  2. v1.2.1Oct 31, 2026
  3. v1.2.0Oct 29, 2026

评分

已满足适用检查项的 55%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分

    请在注册中心条目中发布图标。

  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。