Your paper, as JSON
Everything Thaw knows about a family or a business - the documents, what they say, who and what they are about, and what needs doing - behind 42 endpoints at https://api.thawed.app/v1. Every call carries a bearer token and answers as JSON. Every refusal is a sentence a person could read out.
Make a token
In Settings > Developers, tick the scopes it needs, and copy it once. It belongs to you, not to one family or business.
Ask who you are
GET /me says which family or business the token landed in, what it may do there, and every other one it could name in the Thaw-Account header.
Read the Checkup
GET /checkup is everything that needs a person - past due, this month, what is missing - in one list. Then the documents, their facts, and who and what they are about.
curl "https://api.thawed.app/v1/me" \
-H "Authorization: Bearer $THAW_TOKEN"{
"user": {
"id": "019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11",
"name": "Marisol Alvarez",
"email": "marisol@example.com"
},
"account": {
"id": "019958a0-2d5f-7e4b-8c30-4a1d3b7f9e22",
"name": "The Alvarez family",
"kind": "family",
"role": "owner",
"plan": {
"name": "family",
"label": "Family"
}
},
"token": {
"kind": "personal",
"label": "thaw_pat_…7Kx2",
"scopes": [
"read",
"write",
"files"
]
},
"can": {
"change": true,
"identifiers": false
},
"accounts": [
{
"id": "019958a0-2d5f-7e4b-8c30-4a1d3b7f9e22",
"name": "The Alvarez family",
"kind": "family",
"role": "owner",
"guest": false
}
],
"header": "Thaw-Account",
"api": "https://api.thawed.app/v1"
}By section
You
Who the token is, and where it may act.
Documents
What is on file: listed, searched, opened with a window of its words, added, filed as something else, moved, linked to people and things, shared out. A change needs the write scope; adding one needs the role and the scope but not the plan.
Facts
What Thaw took off the pages, with sums. Account, policy and license numbers come only with the identifiers scope.
People & things
Who and what the documents are about: people, pets, vehicles, homes, accounts, policies, companies. Renamed, combined and answered here as on the page.
Checkup
Everything that needs a person, in one shape: the dated items and what is missing, each handled, snoozed or dismissed here as on the page.
Bundles
A named set of documents, made by hand, and the year-end tax package Thaw assembles from a rule.
Imports
A previous system's export, a cloud folder or a mailbox brought in, with where each stands.
Uploads
A large file in parts, straight to storage, the way the browser sends anything past the plain upload limit and every archive.
Ask
Thaw's answer to a question, streamed as server-sent events, and the email drafts. Each one counts as an ask on the plan. Needs the ask scope.
Shapes
A document, a fact, a person or thing, a Checkup item: the named shapes every answer is made of.
How it fits together
Getting started
A token, one call, and what comes back.
The two ways in
A personal token, or an assistant connection.
Scopes, roles and plans
Three walls, and the narrowest wins.
Changing things
The same press the page makes, through another door.
Idempotency
Making a change once, however many times it is sent.
Paging
Cursors that stay right while documents arrive.
Errors
Every refusal is a problem you can read out loud.
Adding documents
One request for a small file, parts for a big one.
MCP
An assistant reaching the documents over the same door.
Two ways in
A personal token is for your own scripts and tools: made in Settings, scoped as you tick, and good for every family or business you belong to.An assistant connection is OAuth, the same one the MCP server issues, bound to one family or business and to the tools an assistant may use. Both come out of the same door and read the same shapes; the guide says which one you want.
What it will never do
Nothing here reaches past the family or business the token is in, or past the role the person holds there. A viewer's token reads what a viewer sees. Account, policy and license numbers stay out of every answer unless the token carries the identifiers scope. Every change is the same call the page makes, made once, and written to the family's audit log as made through the API.