API Reference
The CapXchange API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The API is routed through a central Gateway to various microservices.
https://api.capxchange.com/v1Login
Authenticates a user via email and password.
Parameters
| Name | Description |
|---|---|
emailstring, required | User email address |
passwordstring, required | User password |
curl -X POST https://api.capxchange.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com", "password": "secure123"}'{
"id": "usr_123",
"email": "user@example.com",
"name": "John Doe",
"role": "investor",
"registration_status": "ACTIVE"
}Google Sign-In
Authenticates or creates a user using a Google account.
Parameters
| Name | Description |
|---|---|
emailstring, required | User email address |
namestring | Full name |
providerAccountIdstring, required | Google ID |
avatar_urlstring | Profile picture URL |
curl -X POST https://api.capxchange.com/api/auth/google \
-H "Content-Type: application/json" \
-d '{"email": "user@gmail.com", "providerAccountId": "1023..."}'{
"id": "usr_124",
"email": "user@gmail.com",
"provider": "google"
}Get User by Email
Retrieves user details by email address.
Parameters
| Name | Description |
|---|---|
emailstring, required | User email address (Query string) |
curl https://api.capxchange.com/api/user/by-email?email=user@example.com{
"id": "usr_123",
"email": "user@example.com",
"full_name": "John Doe"
}Update User
Updates specific fields on a user record.
Parameters
| Name | Description |
|---|---|
emailstring, required | User email (URL Param) |
dataobject, required | Fields to update |
curl -X PATCH https://api.capxchange.com/api/user/user@example.com \
-H "Content-Type: application/json" \
-d '{"company": "New Corp"}'{
"id": "usr_123",
"email": "user@example.com",
"company": "New Corp"
}Create User Documents
Attaches KYC or business documents to a user profile.
Parameters
| Name | Description |
|---|---|
emailstring, required | User email (URL Param) |
documentsarray, required | Array of document objects |
curl -X POST https://api.capxchange.com/api/user/user@example.com/documents \
-H "Content-Type: application/json" \
-d '{"documents": [{"document_type": "idFront", "document_url": "https...", "file_name": "id.jpg"}]}'[
{
"id": "doc_456",
"userId": "usr_123",
"status": "pending"
}
]Get Pending Verifications
Admin endpoint to list all users awaiting KYC verification.
curl https://api.capxchange.com/api/admin/users/pending-verification \
-H "Authorization: Bearer <ADMIN_TOKEN>"[
{
"id": "usr_123",
"email": "user@example.com",
"registration_status": "PENDING_VERIFICATION",
"documents": [...]
}
]Verify User
Admin endpoint to approve or reject a user KYC application.
Parameters
| Name | Description |
|---|---|
statusstring, required | "APPROVED" or "REJECTED" |
curl -X PATCH https://api.capxchange.com/api/admin/users/user@example.com/verify \
-H "Authorization: Bearer <ADMIN_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"status": "APPROVED"}'{
"id": "usr_123",
"registration_status": "AWAITING_PAYMENT"
}Get Listings
Retrieves a paginated list of market listings on CapXchange.
Parameters
| Name | Description |
|---|---|
limitinteger | Number of items to return (default: 25) |
curl https://api.capxchange.com/api/listings?limit=10{
"success": true,
"data": {
"items": [
{
"id": "lst_789",
"title": "Series B Secondary",
"user": {
"full_name": "Alice Capital"
}
}
]
}
}Save Registration Step
Saves progress in the multi-step registration flow.
Parameters
| Name | Description |
|---|---|
stepinteger, required | Step number (1-6) |
dataobject, required | Form data for the current step |
curl -X POST https://api.capxchange.com/api/registration/save-step \
-H "Content-Type: application/json" \
-d '{"step": 1, "data": {"firstName": "John", "lastName": "Doe"}}'{
"success": true,
"registration_step": 1
}Submit Registration
Finalizes registration, uploads KYC documents, and transitions status.
Parameters
| Name | Description |
|---|---|
multipart/form-dataform, required | Fields and files (idFront, idBack, etc.) |
curl -X POST https://api.capxchange.com/api/registration/submit \
-F "personalInfo={\"firstName\":\"John\"}" \
-F "idFront=@/path/to/id.jpg"{
"success": true,
"redirectUrl": "/pending-verification",
"user": { "id": "usr_123" }
}