{"openapi":"3.0.3","info":{"title":"FadPay Platform API","version":"1.0.0","description":"Move money, run payouts and verify attributes on the FadPay financial platform. Amounts are whole integers of XOF. The FadPay Score is never exposed; verification returns customer-authorized attribute answers only."},"servers":[{"url":"/api/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/ping":{"get":{"summary":"Health check","responses":{"200":{"description":"OK"}}}},"/account":{"get":{"summary":"The FadPay Account of the key owner","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Account object"}}}},"/transactions":{"get":{"summary":"Recent ledger entries","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","maximum":100}}],"responses":{"200":{"description":"Transaction list"}}}},"/network":{"get":{"summary":"Payment-network status board","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Rail status list"}}}},"/identity":{"get":{"summary":"Own verified identity attributes","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Attribute statuses (never raw data)"}}}},"/payroll/runs":{"get":{"summary":"Payroll history (company keys)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Run list"},"403":{"description":"Company key required"}}}},"/transfers":{"post":{"summary":"Send money to a FadPay Account","security":[{"bearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["to_email","amount"],"properties":{"to_email":{"type":"string"},"amount":{"type":"integer"},"note":{"type":"string"}}}}}},"responses":{"201":{"description":"Transfer completed"},"422":{"description":"Validation error"}}}},"/payouts":{"post":{"summary":"Bulk payout (atomic, max 200 items)","security":[{"bearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"amount":{"type":"integer"},"note":{"type":"string"}}}}}}}}},"responses":{"201":{"description":"Batch completed"},"422":{"description":"Validation error"}}}},"/qr":{"post":{"summary":"Create a payment handle / QR payload","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Payload created"}}}}}}