Core
Account Management
Manage your CamelPay account: KYC verification and profile basics.
Account Overview
Your CamelPay account holds your developer profile and KYC status. Account endpoints require JWT authentication (obtained via registration + OTP or login).
bash
curl -X GET https://api.camelpay.in/v1/students/me \
-H "Authorization: Bearer <your_jwt_token>"KYC Verification
KYC is required before your account can create money-collecting payment pages or send payouts (pages:write / payouts:write). It requires three images—ID front, ID back, and selfie—followed by manual review; there is no instant approval.
1. Get a presigned upload URL, per document
bash
curl -X POST https://api.camelpay.in/v1/storage/presign \
-H "Authorization: Bearer <your_jwt_token>" \
-H "Content-Type: application/json" \
-d '{"filename": "id-front.jpg", "content_type": "image/jpeg", "purpose": "kyc_front"}'
# Repeat with purpose=kyc_back and purpose=selfie. Only JPEG/PNG is accepted.2. Upload the file directly to the returned upload_url
PUT {upload_url}
Content-Type: image/jpeg
Body: <binary file data>3. Submit the three document URLs (ID front, ID back, selfie)
bash
curl -X POST https://api.camelpay.in/v1/students/me/documents \
-H "Authorization: Bearer <your_jwt_token>" \
-H "Content-Type: application/json" \
-d '{
"id_document_front_url": "https://storage.camelpay.in/kyc-docs/<student-id>/kyc_front/id-front.jpg",
"id_document_back_url": "https://storage.camelpay.in/kyc-docs/<student-id>/kyc_back/id-back.jpg",
"selfie_url": "https://storage.camelpay.in/kyc-docs/<student-id>/selfie/selfie.jpg"
}'Check verification status
There's no separate status endpoint — it's a field on your own profile:
bash
curl -X GET https://api.camelpay.in/v1/students/me \
-H "Authorization: Bearer <your_jwt_token>"
# → { ..., "verification_status": "pending" | "verified" | "rejected", "verification_reason": "..." }unverified → pending (after all three documents pass validation) → verified or rejected (after manual review). A rejection includes verification_reason and rejected students may correct and resubmit; verified students cannot replace their approved KYC through this endpoint.
Self-service profile editing and account deletion aren't available as separate API endpoints yet. To get a new OTP, call POST /v1/students/auth/otp/request again — each request invalidates the previous code.
