Skip to content

A simple AI API. Based in Ontario, Canada.

Ask questions about text. Get answers your app can use.

Write focused questions and allowed answers in Markdown, then send text to check. Get one validated value per question, or an error: yes/no, one of your categories, or a score. Your app can use the values to route messages, guide an agent's next step, or fill a field with an allowed value. Your app controls the actions.

An API lets your software send text and read the answers automatically. You can also try your questions in the browser. Being based in Canada is not a promise of Canadian data residency.

Your assessment in Markdown illustration
# Customer inbox

## Does this message ask for a reply?

### Fact ID: reply_needed
### Type: boolean

Your email

Hi Maya,

The replacement parts arrived this morning, and the workshop expects to finish the repairs on Monday. The loaner is yours until everything is ready.

Before I book the courier, would Tuesday afternoon work for your team? Wednesday morning is also available. I’ll send the service report once the final checks are done.

Thanks,
Alex

Example result item

{"factId":"reply_needed","value":true}

Fact ID names the answer. Type sets its format: boolean means true or false.

Illustration, not a full API response.

Open this example in playground →
your assessment+your text→a typed answer

Your text. Your questions. Answers you can use.

Check the same things across many messages.

Write focused questions with allowed answers, then reuse them across messages. For example, check whether each message asks for a reply and whether billing, account help, or technical support should handle it. Include an explicit “unclear” or “review” choice so your app can flag text that does not provide enough evidence.

Write your questions

Use a plain text file with simple headings.

The file uses Markdown: a way to mark headings with # signs. An “assessment” is your list of focused questions and allowed answer settings. Include “unclear” or “review” when the text might not support a definite answer.

#

Name your question list

Give the file a name, such as “Customer inbox,” so your team knows what it checks.

##

Ask one focused question

Ask one thing at a time. For example: “Does this message ask for a reply?”

###

Choose the answer format

Choose yes/no, a list of allowed categories, or a score within a range you set. Give each answer a name your software can read, and include a review choice when evidence may be missing.

Example question file

Here’s what you send.

This file asks one question. “Fact ID” names the answer, and “boolean” means yes/no: the API returns true or false. You can put up to eight questions in one file.

Leave token settings out to use automatic output budgeting and the default input limit. Add an override only when you deliberately need a different limit.

See zoning and repair-parts examples with files you can copy, API requests, and expected answers to check.

# Customer inbox

## Does this message ask for a reply?

### Fact ID

reply_needed

### Type

boolean

What you can do with it

Sort messages. Spot key details. Flag things to review.

Sort incoming messages

Ask which team should handle a message. Choose your own categories, such as billing, account help, and technical support.

Check what the text says

Ask whether an excerpt reports a parts shortage in Canada or says construction has started. Supply the text you want checked.

Keep control of the next step

Your app decides what to do with each answer; the model does not run the workflow. A fixed answer format does not guarantee a fact is correct. Test questions on your own data, send “unclear” or “review” answers to a person, and require human review for consequential decisions. A score is not a measured probability.

Closing Threads

Try your questions in the browser, then connect your app.

Create an account with a passkey. Save your questions, paste some text into the playground, and review the answers. Then use the API to run the same checks from your own software.

Connect your workflow with POST https://app.closingthreads.com/v1/assessments/run. See the API guide for authentication, request examples, and result types.

Check current service availability and prices before running a check; an assessment uses prepaid credit. Packs have fixed total prices of US$10, US$25, or US$100, and each successful payment adds the same amount as credit. Checkout does not calculate or add sales tax; the business handles any applicable tax obligations separately.

Open the app