# Thumbprint Quickstart This Quickstart applies to Thumbprint. **Note:** *Thumbprint is our stand-alone fraud detection product. It uses a subset of the PDF Insights API.* ## 1. Verify your credentials Verify that you can log into the [Thumbprint UI](https://insights.moneythumb.com) using your username and password. ## 2. Authenticate to the API Call `GET https://insights.moneythumb.com/api/v1.5/authenticate`. Include the following headers: | Header | Value | | --- | --- | | `Authorization` | `Basic [base64-encoded username:password]` | | `MT-Product` | `thumbprint` | No request body is required. You should receive a `200 OK` response with a session token in the response body. For further details, see: * [/authenticate endpoint](https://docs.moneythumb.com/pdf-insights/api-reference/other/authenticate) * [Authentication overview](https://docs.moneythumb.com/pdf-insights/2_authentication) ## 3. Get a Thumbprint score Call `POST https://insights.moneythumb.com/api/v1.5/uploadpdfs`. Include the following headers: | Header | Value | | --- | --- | | `Authorization` | `Bearer [session token]` | | `MT-Product` | `thumbprint` | | `Content-Type` | `multipart/form-data` | Include the following form-data fields in the body: | Name | Type | Value | | --- | --- | --- | | `appnumber` | string | Any string to identify this application. | | `pdf-filename` | blob | The file (ie bank statement) to upload. | You should receive a `200 OK` response with a reponse body matching this structure: ``` { statement_summmaries: [], appinfo: {} } ``` Within the `statement_summaries` objects, look for the `fraudscore` and `tpreasons` properties. For further details, see the [/uploadpdfs endpoint](https://docs.moneythumb.com/pdf-insights/api-reference/other/uploadpdfs). ## 4. Provide a callback Image documents are processed asynchronously and their results returned by callback (aka webhook). We **strongly encourage** you to use this approach for all documents. **Note:** *Thumbprint scores aren't produced for image documents. Under the Thumbprint product, OCR is not performed and image documents will return with a 'requires OCR' message.* #### 4a. Create the recipient Either use a third-party service or create your own endpoint to receive the callback. The body of the callback request will match the output you received from `/uploadpdfs` in #2 above. #### 4b. Upload a document with callback Repeat the same `/uploadpdfs` call from #2, but add one additional form-data field: | Name | Type | Value | | --- | --- | --- | | `webhook` | string | The URL to which the results should be sent.It should be in the format `https://www.mydomain.com/my-endpoint` | You should receive a `202 ACCEPTED` response. From a few seconds to a few minutes later (depending on the size and format of the file), your callback endpoint should receive a request. The request body should match this structure: ``` { statement_summmaries: [], appinfo: {} } ``` ## 5. Next Steps 1. Explore the [/uploadpdfs documentation](https://docs.moneythumb.com/pdf-insights/api-reference/other/uploadpdfs). 2. Try converting multiple files at once (include as many `pdf-filename` form-data fields as you like). 3. Add retry logic to your API calls (but please include a retry limit).