{"product":"Farmsky Credit-as-a-Service API","api_version":"v3","base_url":"/v3","standards":{"transport":"HTTPS/TLS 1.2+ only","format":"JSON (application/json)","datetime":"ISO-8601 (UTC)","currency":"ISO-4217 codes; amounts in minor units where noted","country_codes":"ISO-3166 alpha-2","pagination":"cursor + limit (max 200)","errors":"RFC-style codes in a stable envelope { success, error{code,message}, meta }"},"authentication":{"scheme":"API key (client_id + secret)","header":"Authorization: Bearer <client_id>:<secret>","alt_headers":["X-Api-Client","X-Api-Secret"],"scopes":["credit:read","credit:write","statements:write","identity:read","customer:write","transactions:write"],"optional_hmac_signing":{"description":"Banking-grade request signing with replay protection.","headers":["X-Timestamp","X-Nonce","X-Signature"],"signature":"HMAC_SHA256(secret, `${X-Timestamp}.${X-Nonce}.${METHOD}.${PATH}.${SHA256(body)}`) hex","window_seconds":300,"enable":"Set API_HMAC_ENFORCE=1 (or send X-Signature to opt-in per request)."}},"reliability":{"idempotency":{"header":"Idempotency-Key","applies_to":["POST","PUT","PATCH"],"ttl":"stored server-side"},"rate_limiting":{"headers":["X-RateLimit-Limit","X-RateLimit-Remaining","X-RateLimit-Reset"],"strategy":"fixed window / minute per client"},"retries":"Safe to retry any request carrying an Idempotency-Key."},"webhooks":{"register":"POST /v3/webhooks","events":["evaluation.completed","statement.analysed","kyc.completed","invoice.financed"],"delivery_signature":"X-Farmsky-Signature: sha256=HMAC_SHA256(secret, rawBody)","verify":"Compare in constant time; reject if timestamp skew > 5 min."},"connectors":[{"platform":"Mambu (core banking)","how":"Call POST /v3/credit/evaluations from a Mambu custom \"Decisioning\" webhook/Deployment; map Mambu clientKey -> lender_reference; store returned risk_tier in a custom field.","region":"Global"},{"platform":"Temenos T24 / Transact","how":"Invoke via the Temenos Integration Framework (IRIS) REST connector; use scope credit:write and Idempotency-Key = T24 arrangement id.","region":"Global"},{"platform":"Finacle (Infosys)","how":"Expose Farmsky as an external scoring service in Finacle Origination; pass applicant IPRS id as subject_ref.","region":"Global / Africa"},{"platform":"Flutterwave","how":"After a successful KYC/collection, forward the customer reference to POST /v3/credit/evaluations to gate BNPL / lending offers.","region":"Africa"},{"platform":"Paystack","how":"Use Paystack transaction history as the statement source; POST /v3/statements/analyse then /v3/credit/evaluations.","region":"Africa"},{"platform":"Safaricom M-Pesa (Daraja)","how":"Pull M-Pesa statement via Daraja, upload to POST /v3/statements/mpesa; Farmsky returns cash-flow features for scoring.","region":"Kenya / East Africa"},{"platform":"Mifos X / Apache Fineract","how":"Add Farmsky as a credit-check hook in the loan approval workflow; read decision + reject_codes.","region":"Global / Africa"},{"platform":"Generic REST / webhook","how":"Any platform that can make an authenticated HTTPS POST can integrate. See GET /v3/plug-and-play/config.","region":"Global"}],"sdk_hint":"No SDK required — plain HTTPS + JSON. cURL and Postman collections available on /docs."}