<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reamline</title><link>https://reamline.com/</link><description>Recent content on Reamline</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Sun, 02 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://reamline.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting started</title><link>https://reamline.com/docs/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://reamline.com/docs/getting-started/</guid><description>&lt;h2 id="what-you-need"&gt;What you need&lt;/h2&gt;
&lt;p&gt;A file your business system produced: an invoice, a statement run, a report. The
original, exactly as it came out. Not a PDF, not something re-saved from a text
editor.&lt;/p&gt;
&lt;p&gt;If your system prints to a file, or spools to a queue you can copy from, that
file is what you want.&lt;/p&gt;
&lt;h2 id="no-file-to-hand"&gt;No file to hand?&lt;/h2&gt;
&lt;p&gt;Open the &lt;a href="https://reamline.com/app/"&gt;app&lt;/a&gt; and press &lt;strong&gt;Load demo&lt;/strong&gt;. It opens a sample statement run
with its template already built, so you can press &lt;strong&gt;Extract&lt;/strong&gt; and see the JSON
straight away. Nothing to sign up for, and nothing to download.&lt;/p&gt;</description></item><item><title>API reference</title><link>https://reamline.com/docs/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://reamline.com/docs/api/</guid><description>&lt;p&gt;Base URL &lt;code&gt;https://reamline.com&lt;/code&gt;. Authenticate with an API key in the
&lt;code&gt;x-api-key&lt;/code&gt; header, or a session token as &lt;code&gt;Authorization: Bearer&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Requests and responses are JSON throughout. Every request sends the document
either as &lt;code&gt;text&lt;/code&gt; (a plain string) or &lt;code&gt;textB64&lt;/code&gt; (base64 of the original bytes).
Prefer &lt;code&gt;textB64&lt;/code&gt;, for the reasons in &lt;a href="https://reamline.com/docs/getting-started/#encoding"&gt;encoding&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="post-v1extract"&gt;POST /v1/extract&lt;/h2&gt;
&lt;p&gt;Turn a document into JSON.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -s -X POST https://reamline.com/v1/extract &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;x-api-key: &lt;/span&gt;&lt;span class="nv"&gt;$KEY&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt; -d &lt;span class="s1"&gt;&amp;#39;{&amp;#34;templateId&amp;#34;:&amp;#34;tpl_...&amp;#34;,&amp;#34;textB64&amp;#34;:&amp;#34;...&amp;#34;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="scroll"&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;textB64&lt;/code&gt; &lt;em&gt;or&lt;/em&gt; &lt;code&gt;text&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;The document. Required.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;templateId&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Which document type to use. &lt;strong&gt;Omit it&lt;/strong&gt; and the service works it out from your recognition rules.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;revision&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Pin to a specific published version. Defaults to the live one.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;template&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;An inline template object, instead of a stored one. Useful for testing without publishing.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;The response carries one entry per document found:&lt;/p&gt;</description></item><item><title>The payment that vanished</title><link>https://reamline.com/blog/the-payment-that-vanished/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate><guid>https://reamline.com/blog/the-payment-that-vanished/</guid><description>&lt;p&gt;Here is a customer statement, as the accounts system printed it:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;14/04/2026 00153140 I 2071.30
14/04/2026 00153141 I 517.82
15/04/2026 ON A/C P -1294.56
19/05/2026 00153235 I 1176.00
23/06/2026 00153320 I 2589.12
 ────────
 5059.68
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Five lines. The script reading it produced four.&lt;/p&gt;
&lt;p&gt;The missing one is the payment. The customer had paid £1,294.56 and the
statement they received showed four charges adding to £6,354.24 above a total of
£5,059.68. A £1,294.56 hole with nothing to explain it, and what was missing was
&lt;em&gt;their money&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>How it works</title><link>https://reamline.com/how-it-works/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://reamline.com/how-it-works/</guid><description>&lt;p&gt;You do this once per document type. It takes minutes, and you only ever point at
things.&lt;/p&gt;
&lt;h2 id="1-open-a-real-example"&gt;1. Open a real example&lt;/h2&gt;
&lt;p&gt;Drag in a file your system has produced. It stays in your browser. Nothing is
uploaded while you are setting things up.&lt;/p&gt;
&lt;p&gt;No file to hand? Press &lt;strong&gt;Load demo&lt;/strong&gt; instead. It opens a sample statement with
the finished template already applied, so you can see all five steps at once and
press Extract straight away.&lt;/p&gt;</description></item></channel></rss>