FINOCRED API

RESTful API documentation for the FINOCRED capital raising platform

https://finocred.net/api/v2

Authentication

All authenticated endpoints require a Bearer token in the Authorization header. Tokens are valid for 30 days.

POST /auth/register Register new user
ParameterTypeRequiredDescription
namestringYesFull name
emailstringYesEmail address (unique)
phonestringYesPhone with country code
passwordstringYesMin 8 characters
password_confirmationstringYesMust match password
roleenumYesbuyer | seller | investor | financer
panstringNoPAN number (ABCDE1234F)
entity_namestringNoCompany/entity name
fcm_tokenstringNoFirebase push token
{ "status": "success", "message": "Registration successful. Account pending approval.", "data": { "user": { "id": 5, "name": "...", "role": "buyer", "status": "pending" }, "token": "5|abc123...", "token_type": "Bearer", "expires_in": 2592000 } }
POST /auth/login Login and get token
ParameterTypeRequiredDescription
emailstringYesRegistered email
passwordstringYesAccount password
fcm_tokenstringNoUpdate FCM token on login
POST /auth/logout Revoke current token AUTH

Revokes the current access token. No body required.

POST /auth/refresh Refresh token AUTH

Revokes old token and issues a new one valid for 30 days.

Profile

GET/auth/profileGet current user profile + KYC statusAUTH
{ "status": "success", "data": { "id": 1, "name": "...", "email": "...", "phone": "...", "role": "buyer", "status": "active", "wallet_balance": 50000, "kyc_status": { "pan": { "status": "verified", "verified_at": "..." }, "gst": { "status": "not_submitted" }, "bank_account": { "status": "pending" } } } }
PUT/auth/profileUpdate profile fieldsAUTH

Send any of: name, phone, entity_name, entity_type, entity_reg, industry, address, website

POST/auth/profile/photoUpload profile photoAUTH

Send multipart form with `photo` field (max 5MB, image)

POST/auth/change-passwordChange passwordAUTH
ParamType
current_passwordstringYes
passwordstringYes
password_confirmationstringYes

Factoring Units

GET/factoring-unitsList FUs (filtered by role)AUTH

Buyers see their own. Investors see "Bidding" status.

Query ParamDescription
statusFilter by status
min_amountMin invoice total
max_amountMax invoice total
sortamount_asc | amount_desc
per_pageItems per page (default 20)
GET/factoring-units/{id}Get FU details with bidsAUTH

Returns FU with buyer info, all bids, and line-item details.

POST/factoring-unitsCreate new FU (buyer/seller)AUTH
ParamType
fu_sellerstringYes
fu_invoice_nostringYes
fu_invoice_datedateYes
fu_due_datedateYes
fu_totalnumberYes
fu_invoice_totalnumberYes
fu_finance_amountnumberYes
fu_tenurestringYes
GET/dashboardRole-based dashboard statsAUTH

Returns different stats based on user role (buyer/investor).

Bids

GET/bidsList my bids (filtered by role)AUTH
QueryDescription
statusPending | Accepted | Rejected
POST/bids/{fuId}Place bid (investor/financer)AUTH
ParamType
bid_amountnumberYes
bid_percentagenumberYes
bid_tenurestringYes
PUT/bids/{bidId}/statusAccept/reject bid (buyer)AUTH
ParamType
statusenumAccepted | Rejected
remarkstringOptional note

Payments & Wallet

POST/payments/create-orderCreate Razorpay orderAUTH
ParamTypeDesc
amountnumberYes₹100 - ₹1,00,00,000
typeenumNowallet_topup | bid_deposit
POST/payments/verifyVerify & capture paymentAUTH
ParamType
payment_idintegerYes
razorpay_payment_idstringYes
razorpay_order_idstringYes
razorpay_signaturestringYes
GET/payments/historyPayment historyAUTH

Paginated list of all payments for current user.

GET/payments/walletGet wallet balanceAUTH
{ "status": "success", "data": { "balance": 50000.00, "currency": "INR" } }

KYC Verification

GET/kyc/statusGet all KYC statusesAUTH

Returns verification status for PAN, GST, Bank, Aadhaar, Address.

POST/kyc/verify-panVerify PAN numberAUTH
ParamType
panstring10 chars, e.g. ABCDE1234F
POST/kyc/verify-gstVerify GST numberAUTH
ParamType
gststring15 chars GSTIN
POST/kyc/verify-bankVerify bank accountAUTH
ParamType
account_numberstringBank account number
ifscstring11-char IFSC code

Notifications

GET/notificationsList notifications + unread countAUTH

Returns paginated notifications with unread_count in meta.

PUT/notifications/{id}/readMark single as readAUTH
POST/notifications/mark-all-readMark all as readAUTH
POST/notifications/fcm-tokenUpdate FCM push tokenAUTH
ParamType
fcm_tokenstringYes

Error Responses

// 401 Unauthorized { "message": "Unauthenticated." } // 403 Forbidden { "status": "error", "message": "Only investors/financers can bid." } // 422 Validation Error { "message": "The email field is required.", "errors": { "email": ["The email field is required."] } } // 500 Server Error { "status": "error", "message": "Internal server error." }

FINOCRED API v2.0 · © 2026 FINOCRED FINTECH PRIVATE LIMITED

Back to Website