Bearer key · JSON
POST /api/v1/pdf/inspect
curl -s -X POST https://getattest.com.au/api/v1/pdf/inspect \
-H "authorization: Bearer $ATTEST_API_KEY" \
-H "content-type: application/json" \
-d '{}'
Send the key as a bearer token in the authorization header. One key and one credit balance cover every service, including Attest Capture. A failed call is refunded automatically. No key yet? POST /api/v1/keys issues one with 25 free credits and no signup — see the key guide.
For agents
Use when
Use this when a task needs to know what automated software gets when it reads a PDF: whether there is a real text layer or only scanned pictures, which fonts are embedded, whether the page is multi-column, whether the text comes out in reading order, and — for a CV — whether contact details, section headings, bullets and dates can be found at all.
Not documented yet: a captured example response. This page only shows what the module publishes about itself, so the missing parts are absent rather than guessed at.
4 fields
Input
Scroll the table horizontally to see all fields.
Field / Type / Required / What it does| Field | Type | Required | What it does |
|---|
url | string | Optional | A public http(s) PDF URL. Exactly one of url or file_base64. |
|---|
file_base64 | string | Optional | The PDF as base64. |
|---|
profile | string | Optional | general (default) or resume. The resume profile also looks for contact details, section headings, bullets and dates. |
|---|
file_name | string | Optional | The original file name, used only in the report. |
|---|
HTTP 200
Response
Every successful response also carries call_id (your receipt for the charge), credits_charged and credits_remaining.
Scroll the table horizontally to see all fields.
Field / What it holds| Field | What it holds |
|---|
profile | The profile that ran. |
|---|
pages | Page count. |
|---|
findings | What automated software would get from this file, as a list of findings. |
|---|
stats | The measurements behind the findings: text layer, fonts, columns, reading order, and the resume checks when that profile ran. |
|---|
limits | The byte, page, pixel and decompression budgets this read applied. |
|---|
sources | The parser and the standards the report's terms come from. |
|---|
notice | What the report is: a readability check, not a statement about the document's content. |
|---|
Machine-readable failures
Errors
Errors return JSON such as {"error":"invalid_api_key"}. A failed call is refunded automatically.
Scroll the table horizontally to see all fields.
Code / Status / Meaning| Code | Status | Meaning |
|---|
url_or_file_base64_required | 400 | Neither url nor file_base64 was sent. |
|---|
url_and_file_base64_conflict | 400 | Both url and file_base64 were sent. |
|---|
not_a_pdf | 400 | The bytes are not a PDF. |
|---|
invalid_pdf | 400 | The PDF structure could not be read. |
|---|
pdf_password_required | 400 | The file is encrypted and needs a password. |
|---|
pdf_too_complex | 400 | The file is past the decompression or page budget. |
|---|
file_too_large | 400 | The file is past the byte cap. |
|---|
empty_file | 400 | The file decoded to nothing. |
|---|
pdf_read_failed | 422 | The file is a PDF but could not be analysed. |
|---|
fetch_failed | 502 | The PDF URL did not answer. Not charged. |
|---|
On every service
Scroll the table horizontally to see all fields.
Code / Status / Meaning| Code | Status | Meaning |
|---|
invalid_api_key | 401 | The authorization header is missing or the key is unknown. |
|---|
insufficient_credits | 402 | The balance is below this call's cost. The response carries credits_required and credits_remaining. |
|---|
rate_limit_exceeded | 429 | Free keys share 10 calls a minute across every service. The response carries limit and window_seconds. |
|---|
services_unavailable | 503 | The credit store could not be reached. Retry once after 30 seconds. |
|---|
4 worked examples
Examples
Where the answer comes from
Source and scope
Parsed with Mozilla pdf.js (pdfjs-dist, Apache-2.0). Report terms follow ISO 32000-1:2008 and the ISO 19005 (PDF/A) identification scheme.
Attest reports what it read, with the source it read it from. It is general information, not advice, and not a legal record.
All Attest tools · Service list as JSON · OpenAPI