Boost credit limit
Credit Scoring
Boost credit limit
Upload a financial statement PDF to attempt a credit-limit increase.
POST
Boost credit limit
Submits a PDF statement (mobile money or bank) to the Manka AI engine. If the statement is valid, recent, and yields a higher limit than the customer’s current one, the customer’s pre-approved limit is increased on the spot. All three outcomes — increased, unchanged, cooldown — returnDocumentation Index
Fetch the complete documentation index at: https://docs.api.bsa.ai/llms.txt
Use this file to discover all available pages before exploring further.
200 OK with the same response shape; branch on boostStatus and the
limit fields.
The upstream always sends an SMS to the customer’s mobile number
when this endpoint is called, including on validation failures. Treat
every successful call as an outbound communication event.
Content type
multipart/form-data
Form fields
Customer’s full name as it appears on the statement. For bank
statements, at least two name parts must match the statement
(case-insensitive) or the upstream rejects with a name mismatch.
Exactly 12 digits in international format (e.g.
255762260621). For
MNO statements, must match the phone number on the statement exactly.The statement PDF. See Statement requirements
below.
Example
Response
200 OK — same shape across all three scenarios:
Scenario A — Boost applied
Scenario B — No increase
Scenario C — Cooldown active
Fields
TZS. Limit before this boost attempt.
TZS. Limit derived from the uploaded statement.
TZS.
max(originalCreditLimit, mankaCreditLimit) after a successful
evaluation; otherwise echoes originalCreditLimit.YES if the limit was raised; NO otherwise (including the cooldown case).Upstream processing time. Diagnostic only.
Statement requirements
| Requirement | Detail |
|---|---|
| Format | PDF only (.pdf) |
| Accepted sources | Airtel, Yas, Vodacom, Halotel, NMB, CRDB |
| Rejected sources | HaloPesa, Selcom, any other institution |
| Recency | Last transaction within the past 14 days |
| Coverage — Airtel | Minimum 15 days of history |
| Coverage — all others | Minimum 60 days of history |
| MNO match | Phone number on statement must equal MobileNumber |
| Bank match | At least 2 name parts on the statement must match FullName |
| Authenticity | Unedited original, direct from the provider |
Errors
The upstream uses several non-standard status codes. We translate them onto our standard error code surface:| Code | Caused by |
|---|---|
invalid_argument | File is not a PDF (upstream 400); statement processing failed (402); name/phone mismatch (405); statement not recent enough (406); statement source unsupported, insufficient coverage, or other validation failure surfaced as upstream 401 |
failed_precondition | Statement appears tampered or forged (upstream 403); customer not eligible — current limit ≤ 500 TZS (upstream 500) |
unauthenticated | Token missing/invalid (upstream 401 with detail "Invalid or missing token") |
unavailable | Upstream Manka engine unreachable (upstream 502) |
internal | Database write failed after a successful boost compute (upstream 998); other unhandled server error (501) |

