DevelopersYour tokens
Reference

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.

#

The Checkup

GETapi.thawed.app/v1/checkup

One list in the app's order - past due, this month and the next, missing, housekeeping, snoozed - narrowed by group, by a window of dates, by person or thing, or shown as handled or dismissed.

Query
groupstringquery
past_due, missing, housekeeping, snoozed, dated (anything with a date), or a month as YYYY-MM.
fromstring (date)query
tostring (date)query
person_or_thingstringquery
A person or thing's id or name.
showstringquery
openhandleddismissed
limitintegerquery
Responses
200
The items.
401
No token, a token that has ended, or one issued for the other door. WWW-Authenticate names the resource metadata document.
404
Nothing of that id in this family or business.
422
A field was wrong. errors names each one.
200 answer
itemsarray of CheckupItem
totalinteger
by_groupobject
countsobject
urlstring
Request
curl "https://api.thawed.app/v1/checkup" \
  -H "Authorization: Bearer $THAW_TOKEN"
Response 200
{
  "items": [
    {
      "id": "019958a0-4f71-706d-8e52-6c3f5d91b044",
      "source": "obligation",
      "kind": "payment",
      "kind_label": "Person",
      "title": "Bluebonnet Electric bill September 2026",
      "detail": "A bearer token is required.",
      "when": "2026-09-12",
      "overdue": false,
      "group": "month",
      "severity": "soon",
      "status": "filed",
      "snoozed_until": null,
      "dismissed_reason": "not_needed",
      "amount": 129.5,
      "currency": "USD",
      "what_to_do": {},
      "person_or_thing": {
        "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
        "title": "Bluebonnet Electric bill September 2026",
        "name": "Marisol Alvarez",
        "kind": "person",
        "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
      },
      "document": {
        "id": "019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11",
        "title": "Bluebonnet Electric bill September 2026",
        "name": "scan.pdf",
        "kind": "document",
        "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
      },
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    }
  ],
  "total": 412,
  "by_group": {
    "key": 1
  },
  "counts": {
    "key": 1
  },
  "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
}
#

Up next as a calendar

GETapi.thawed.app/v1/calendar.ics

The dated items as an iCalendar feed, the same one Settings > Calendar hands out.

Responses
200
The feed.
text/calendar
401
No token, a token that has ended, or one issued for the other door. WWW-Authenticate names the resource metadata document.
Request
curl "https://api.thawed.app/v1/calendar.ics" \
  -H "Authorization: Bearer $THAW_TOKEN"
Response 200
text/calendar
#

Act on a dated item

POSTapi.thawed.app/v1/checkup/obligations/{obligation}

handled closes it; snooze puts it off until a day; dismiss closes it as not needed; reopen brings it back; manual says a bill Thaw took for automatic is paid by hand, and the payee remembers.

Path
obligationstring (uuid)pathrequired
Headers
Idempotency-Keystringheader
Any string of the caller's choosing. The same key with the same body within a day replays the first answer, marked Idempotent-Replayed: true; with a different body it is 422; while the first call is still running it is 409.
BodyJSON
actionstringrequired
handledsnoozedismissreopenmanual
untilstring (date)
With snooze; after today.
Responses
200
The item as it stands.
401
No token, a token that has ended, or one issued for the other door. WWW-Authenticate names the resource metadata document.
403
The token, the role or the plan does not allow it. A missing scope is named in scope and in the WWW-Authenticate header as insufficient_scope; a plan that does not come with it says which one does.
404
Nothing of that id in this family or business.
422
A field was wrong. errors names each one.
200 answer
One line of the Checkup - a dated item, something missing, or a document waiting on a look.
Request
curl -X POST "https://api.thawed.app/v1/checkup/obligations/019958a0-3e60-7f5c-9d41-5b2e4c80af33" \
  -H "Authorization: Bearer $THAW_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"action":"handled","until":"2026-10-01"}'
Body
{
  "action": "handled",
  "until": "2026-10-01"
}
Response 200
{
  "item": {
    "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
    "source": "obligation",
    "kind": "payment",
    "kind_label": "Person",
    "title": "Bluebonnet Electric bill September 2026",
    "detail": "A bearer token is required.",
    "when": "2026-09-12",
    "overdue": false,
    "group": "month",
    "severity": "soon",
    "status": "filed",
    "snoozed_until": null,
    "dismissed_reason": "not_needed",
    "amount": 129.5,
    "currency": "USD",
    "what_to_do": {},
    "person_or_thing": {
      "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "Marisol Alvarez",
      "kind": "person",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "document": {
      "id": "019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "scan.pdf",
      "kind": "document",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
  }
}
#

How far ahead to raise it

PATCHapi.thawed.app/v1/checkup/obligations/{obligation}/lead-days

The days before its date that this item shows as due, from 1 to 365.

Path
obligationstring (uuid)pathrequired
Headers
Idempotency-Keystringheader
Any string of the caller's choosing. The same key with the same body within a day replays the first answer, marked Idempotent-Replayed: true; with a different body it is 422; while the first call is still running it is 409.
BodyJSON
daysintegerrequired
Responses
200
The item.
401
No token, a token that has ended, or one issued for the other door. WWW-Authenticate names the resource metadata document.
403
The token, the role or the plan does not allow it. A missing scope is named in scope and in the WWW-Authenticate header as insufficient_scope; a plan that does not come with it says which one does.
404
Nothing of that id in this family or business.
422
A field was wrong. errors names each one.
200 answer
One line of the Checkup - a dated item, something missing, or a document waiting on a look.
lead_daysinteger
Request
curl -X PATCH "https://api.thawed.app/v1/checkup/obligations/019958a0-3e60-7f5c-9d41-5b2e4c80af33/lead-days" \
  -H "Authorization: Bearer $THAW_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"days":14}'
Body
{
  "days": 14
}
Response 200
{
  "item": {
    "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
    "source": "obligation",
    "kind": "payment",
    "kind_label": "Person",
    "title": "Bluebonnet Electric bill September 2026",
    "detail": "A bearer token is required.",
    "when": "2026-09-12",
    "overdue": false,
    "group": "month",
    "severity": "soon",
    "status": "filed",
    "snoozed_until": null,
    "dismissed_reason": "not_needed",
    "amount": 129.5,
    "currency": "USD",
    "what_to_do": {},
    "person_or_thing": {
      "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "Marisol Alvarez",
      "kind": "person",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "document": {
      "id": "019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "scan.pdf",
      "kind": "document",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
  },
  "lead_days": 7
}
#

It's fine

POSTapi.thawed.app/v1/checkup/{gap}/dismiss

Something Thaw thought was missing is not needed, with a reason in the person's words. disposed also says the thing it is about is gone (sold, ended), which closes everything else about it.

Path
gapstring (uuid)pathrequired
Headers
Idempotency-Keystringheader
Any string of the caller's choosing. The same key with the same body within a day replays the first answer, marked Idempotent-Replayed: true; with a different body it is 422; while the first call is still running it is 409.
BodyJSON
reasonstringrequired
disposedboolean
Responses
200
The item.
401
No token, a token that has ended, or one issued for the other door. WWW-Authenticate names the resource metadata document.
403
The token, the role or the plan does not allow it. A missing scope is named in scope and in the WWW-Authenticate header as insufficient_scope; a plan that does not come with it says which one does.
404
Nothing of that id in this family or business.
422
A field was wrong. errors names each one.
200 answer
One line of the Checkup - a dated item, something missing, or a document waiting on a look.
Request
curl -X POST "https://api.thawed.app/v1/checkup/019958a0-4f71-706d-8e52-6c3f5d91b044/dismiss" \
  -H "Authorization: Bearer $THAW_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"reason":"unknown_sender","disposed":false}'
Body
{
  "reason": "unknown_sender",
  "disposed": false
}
Response 200
{
  "item": {
    "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
    "source": "obligation",
    "kind": "payment",
    "kind_label": "Person",
    "title": "Bluebonnet Electric bill September 2026",
    "detail": "A bearer token is required.",
    "when": "2026-09-12",
    "overdue": false,
    "group": "month",
    "severity": "soon",
    "status": "filed",
    "snoozed_until": null,
    "dismissed_reason": "not_needed",
    "amount": 129.5,
    "currency": "USD",
    "what_to_do": {},
    "person_or_thing": {
      "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "Marisol Alvarez",
      "kind": "person",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "document": {
      "id": "019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "scan.pdf",
      "kind": "document",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
  }
}
#

Ask again

POSTapi.thawed.app/v1/checkup/{gap}/reopen

Something dismissed is back on the Checkup.

Path
gapstring (uuid)pathrequired
Responses
200
The item.
401
No token, a token that has ended, or one issued for the other door. WWW-Authenticate names the resource metadata document.
403
The token, the role or the plan does not allow it. A missing scope is named in scope and in the WWW-Authenticate header as insufficient_scope; a plan that does not come with it says which one does.
404
Nothing of that id in this family or business.
200 answer
One line of the Checkup - a dated item, something missing, or a document waiting on a look.
Request
curl -X POST "https://api.thawed.app/v1/checkup/019958a0-4f71-706d-8e52-6c3f5d91b044/reopen" \
  -H "Authorization: Bearer $THAW_TOKEN"
Response 200
{
  "item": {
    "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
    "source": "obligation",
    "kind": "payment",
    "kind_label": "Person",
    "title": "Bluebonnet Electric bill September 2026",
    "detail": "A bearer token is required.",
    "when": "2026-09-12",
    "overdue": false,
    "group": "month",
    "severity": "soon",
    "status": "filed",
    "snoozed_until": null,
    "dismissed_reason": "not_needed",
    "amount": 129.5,
    "currency": "USD",
    "what_to_do": {},
    "person_or_thing": {
      "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "Marisol Alvarez",
      "kind": "person",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "document": {
      "id": "019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "scan.pdf",
      "kind": "document",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
  }
}
#

Remind me

POSTapi.thawed.app/v1/reminders

A dated item of the person's own, on a day ahead, about a document or a person or thing if named.

Headers
Idempotency-Keystringheader
Any string of the caller's choosing. The same key with the same body within a day replays the first answer, marked Idempotent-Replayed: true; with a different body it is 422; while the first call is still running it is 409.
BodyJSON
titlestringrequired
onstring (date)required
After today.
document_idstring (uuid)
person_or_thingstring
An id or a name.
notestring
Responses
201
The item.
401
No token, a token that has ended, or one issued for the other door. WWW-Authenticate names the resource metadata document.
403
The token, the role or the plan does not allow it. A missing scope is named in scope and in the WWW-Authenticate header as insufficient_scope; a plan that does not come with it says which one does.
422
A field was wrong. errors names each one.
201 answer
One line of the Checkup - a dated item, something missing, or a document waiting on a look.
Request
curl -X POST "https://api.thawed.app/v1/reminders" \
  -H "Authorization: Bearer $THAW_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"title":"Bluebonnet Electric bill September 2026","on":"2026-10-01","document_id":"019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11","person_or_thing":"Marisol Alvarez","note":"Paid over the phone on the 28th."}'
Body
{
  "title": "Bluebonnet Electric bill September 2026",
  "on": "2026-10-01",
  "document_id": "019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11",
  "person_or_thing": "Marisol Alvarez",
  "note": "Paid over the phone on the 28th."
}
Response 201
{
  "item": {
    "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
    "source": "obligation",
    "kind": "payment",
    "kind_label": "Person",
    "title": "Bluebonnet Electric bill September 2026",
    "detail": "A bearer token is required.",
    "when": "2026-09-12",
    "overdue": false,
    "group": "month",
    "severity": "soon",
    "status": "filed",
    "snoozed_until": null,
    "dismissed_reason": "not_needed",
    "amount": 129.5,
    "currency": "USD",
    "what_to_do": {},
    "person_or_thing": {
      "id": "019958a0-3e60-7f5c-9d41-5b2e4c80af33",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "Marisol Alvarez",
      "kind": "person",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "document": {
      "id": "019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11",
      "title": "Bluebonnet Electric bill September 2026",
      "name": "scan.pdf",
      "kind": "document",
      "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
    },
    "url": "https://go.thawed.app/documents/019958a0-1c4e-7d3a-9b2f-3f0c2a6e8d11"
  }
}