Title99/100
Convert a bank statement PDF
The title clearly communicates the tool’s action and subject. Keep it concise.
Description99/100
Convert a PDF bank or credit card statement the user attached with BankConv. Use this for a new PDF; for a statement converted earlier, use get_transactions or download_statement with its conversion id (list_conversions finds it). Returns a summary and every transaction: ISO date, description, signed amount (money in positive) and running balance; opening balances and totals are left out. Uses one BankConv page per PDF page. Waits up to about a minute; a longer statement keeps converting, so fetch it with get_transactions and the conversion id it returns. Password-protected PDFs can't be converted here: send the user to app.bankconv.com. Errors say what went wrong: not_found for an unknown conversion id, gone once a conversion was deleted under data retention (24 hours by default), unreadable_statement when the tables can't be read as transactions, insufficient_credits when the account has too few pages.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Input documentation gives an agent enough context to populate the arguments.
file › download_url
A temporary URL the PDF can be downloaded from.
Clear enough to supply this argument.
file › file_id
The id of the attached file.
Clear enough to supply this argument.
file › mime_type
The file's MIME type, such as application/pdf. BankConv only converts PDFs.
Clear enough to supply this argument.
file › file_name
The file's name, such as chase-march-2026.pdf.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"title": "Convert a bank statement PDF",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}Output schema73/100
Align the output schema with the tool’s documented result.
View output schema
{
"type": "object",
"required": [
"conversion_id",
"status"
],
"properties": {
"period": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": [
"string",
"null"
],
"description": "ISO date."
},
"start": {
"type": [
"string",
"null"
],
"description": "ISO date."
}
},
"description": "The statement period."
},
"status": {
"enum": [
"completed",
"converting"
],
"type": "string",
"description": "converting means the statement isn't read yet: call get_transactions with the conversion id in a minute."
},
"tables": {
"type": "string",
"description": "The tables read, as page:table indexes from 0."
},
"country": {
"type": [
"string",
"null"
],
"description": "The bank's country, ISO 3166-1 alpha-2."
},
"currency": {
"type": [
"string",
"null"
],
"description": "ISO 4217 code."
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Things to tell the user about the statement."
},
"institution": {
"type": [
"string",
"null"
],
"description": "The bank or card issuer."
},
"account_type": {
"type": [
"string",
"null"
]
},
"transactions": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"description",
"reference",
"amount",
"balance"
],
"properties": {
"date": {
"type": "string",
"description": "ISO date."
},
"amount": {
"type": "string",
"description": "Signed decimal; money in is positive."
},
"balance": {
"type": [
"string",
"null"
],
"description": "Running balance after the transaction, as a decimal."
},
"reference": {
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
}
}
}
},
"conversion_id": {
"type": "string",
"description": "The conversion id, for get_transactions or download_statement."
},
"account_number": {
"type": [
"string",
"null"
],
"description": "The last four characters only, such as ••••1234."
},
"transaction_count": {
"type": "integer"
}
}
}