List invoice applications
Lists the merchant's invoice financing applications, paginated with size, after, and before. Requires the merchant:financing.invoices:read permission on the merchant. Returns 404 when the merchant does not belong to the caller's organization.
Authorization
oauth2 Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.
In: header
Path Parameters
Unique identifier of the merchant.
uuidQuery Parameters
Maximum number of applications to return.
0 < value20Opaque cursor from a previous page's next link. Returns the page after it. Do not send before in the same request.
Opaque cursor from a previous page's prev link. Returns the page before it. Do not send after in the same request.
Filter by application status.
Value in
- "ACTIVE"
- "AUTHORIZED"
- "EXPIRED"
- "APPROVED"
- "REJECTED"
- "ENDED"
Search the invoice number or application identity.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/merchants/a50e8400-e29b-41d4-a716-446655440000/invoice-financing/applications?size=20&after=eyJjcmVhdGVkQXQiOiIyMDI2LTA5LTE3VDEwOjMwOjAwWiJ9&before=eyJjcmVhdGVkQXQiOiIyMDI2LTA5LTE3VDEwOjMwOjAwWiJ9&status=ACTIVE&q=INV-2026-00042"{ "data": [ { "id": "650e8400-e29b-41d4-a716-446655440000", "user_id": "660e8400-e29b-41d4-a716-446655440111", "submitted_by": "6703ac2f-9eb5-40e9-9fde-511b2dbf4be5", "organization_id": "cowdi", "merchant_id": "550e8400-e29b-41d4-a716-446655440001", "terms": { "type": "string", "interest_rate": { "basis_points": 300, "period_value": 1, "period_unit": "DAYS", "day_count_convention": "ACTUAL_365" } }, "account_id": "550e8400-e29b-41d4-a716-446655440000", "status": "ACTIVE", "loan_product_type": "ACME_FLAT_RATE", "loan_amount": { "value": 500000, "currency": "KES" }, "min_loan_amount": { "value": 100000, "currency": "KES" }, "max_loan_amount": { "value": 5000000, "currency": "KES" }, "interest_rate_basis_points": 0, "tenure": { "value": 0, "period": "DAYS" }, "quoted_at": "2019-08-24T14:15:22Z", "approved_at": "2019-08-24T14:15:22Z", "rejected_at": "2019-08-24T14:15:22Z", "expires_at": "2026-10-27T10:30:00Z", "ended_at": "2019-08-24T14:15:22Z", "rejection_reason": "string", "applied_deal_id": "750e8400-e29b-41d4-a716-446655440000", "created_at": "2026-09-01T10:15:30Z", "updated_at": "2026-10-15T14:22:00Z", "details": { "type": "INVOICE_FINANCING", "collateral_percentage_basis_points": 0, "collateral_amount": { "value": 100000, "currency": "KES" }, "collateral_hold_id": "750e8400-e29b-41d4-a716-446655440000", "min_daily_repayment_amount": { "value": 100000, "currency": "KES" }, "max_daily_repayment_amount": { "value": 100000, "currency": "KES" }, "min_collateral_amount": { "value": 100000, "currency": "KES" }, "max_collateral_amount": { "value": 100000, "currency": "KES" }, "min_tenure": 0, "max_tenure": 0 }, "approval_workflow_run_id": "e430dfb1-7d1a-4ebc-b9d6-92d3fdd8aed0", "resource_id": "string" } ], "links": { "next": "/v1/payees?after=eyJpZCI6MX0", "prev": "/v1/payees?before=eyJpZCI6MX0" }}{ "code": "BAD_REQUEST", "description": "Bad Request"}{ "code": "UNAUTHORISED", "description": "Unauthorised"}{ "code": "FORBIDDEN", "description": "Forbidden"}{ "data": [ { "id": "650e8400-e29b-41d4-a716-446655440000", "user_id": "660e8400-e29b-41d4-a716-446655440111", "submitted_by": "6703ac2f-9eb5-40e9-9fde-511b2dbf4be5", "organization_id": "cowdi", "merchant_id": "550e8400-e29b-41d4-a716-446655440001", "terms": { "type": "string", "interest_rate": { "basis_points": 300, "period_value": 1, "period_unit": "DAYS", "day_count_convention": "ACTUAL_365" } }, "account_id": "550e8400-e29b-41d4-a716-446655440000", "status": "ACTIVE", "loan_product_type": "ACME_FLAT_RATE", "loan_amount": { "value": 500000, "currency": "KES" }, "min_loan_amount": { "value": 100000, "currency": "KES" }, "max_loan_amount": { "value": 5000000, "currency": "KES" }, "interest_rate_basis_points": 0, "tenure": { "value": 0, "period": "DAYS" }, "quoted_at": "2019-08-24T14:15:22Z", "approved_at": "2019-08-24T14:15:22Z", "rejected_at": "2019-08-24T14:15:22Z", "expires_at": "2026-10-27T10:30:00Z", "ended_at": "2019-08-24T14:15:22Z", "rejection_reason": "string", "applied_deal_id": "750e8400-e29b-41d4-a716-446655440000", "created_at": "2026-09-01T10:15:30Z", "updated_at": "2026-10-15T14:22:00Z", "details": { "type": "INVOICE_FINANCING", "collateral_percentage_basis_points": 0, "collateral_amount": { "value": 100000, "currency": "KES" }, "collateral_hold_id": "750e8400-e29b-41d4-a716-446655440000", "min_daily_repayment_amount": { "value": 100000, "currency": "KES" }, "max_daily_repayment_amount": { "value": 100000, "currency": "KES" }, "min_collateral_amount": { "value": 100000, "currency": "KES" }, "max_collateral_amount": { "value": 100000, "currency": "KES" }, "min_tenure": 0, "max_tenure": 0 }, "approval_workflow_run_id": "e430dfb1-7d1a-4ebc-b9d6-92d3fdd8aed0", "resource_id": "string" } ], "links": { "next": "/v1/payees?after=eyJpZCI6MX0", "prev": "/v1/payees?before=eyJpZCI6MX0" }}{ "code": "RATE_LIMIT_EXCEEDED", "description": "Too Many Requests"}{ "code": "INTERNAL_ERROR", "description": "Internal Server Error"}Create a presigned financing-document upload POST
Issues a presigned S3 PUT URL for uploading one financing document. Requires `merchant:financing.documents:write` on the merchant. `size_bytes` is signed into the URL, so S3 rejects a PUT of a different size. PUT the file to `url` with the given content type before `expires_at`, then attach it with POST .../documents using the returned `upload_ref`.
Submit an invoice for buyer review POST
Submits one of the merchant's invoices for the buyer to review, and returns today's discount estimate. Requires the `merchant:financing.invoices:write` permission on the merchant. Returns 404 when the merchant does not belong to the caller's organization. Repeated submissions with the same buyer, seller, invoice number, amount, currency and due date resume the accepted application. Recovery preserves its original documents and payout destinations. Returns 409 for conflicting figures. Saves the application and approval event atomically. An optional `Idempotency-Key` replays completed responses.