Receivables Exchange
API reference for the receivables exchange — participants, receivables, auctions, portfolio, collections, put-backs, and backstops.
The receivables exchange enables sellers to submit receivables for auction, investors to bid, and market makers to provide backstop liquidity. All endpoints require authentication and appropriate participant roles.
Authentication
- Session cookie — set when signed in via the web app
- API key — pass via the
x-api-keyheader
Endpoints require authentication. Participant registration and role determine access to exchange resources.
Endpoints
Participants
| Method | Endpoint | Description |
|---|---|---|
GET | /api/exchange/participants | List participants or get participant by ID |
POST | /api/exchange/participants | Register as seller, investor, or market maker |
GET /api/exchange/participants
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string | No | Filter by entity |
role | string | No | seller, investor, market-maker |
Response: Array of participants with role, entity ID, and registration status.
POST /api/exchange/participants
Request body:
{
"entityId": "string",
"role": "seller" | "investor" | "market-maker",
"kycStatus": "string",
"limits": { }
}Receivables
| Method | Endpoint | Description |
|---|---|---|
GET | /api/exchange/receivables | List receivables (filter by status, seller) |
POST | /api/exchange/receivables | Submit receivable for auction |
GET /api/exchange/receivables
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
sellerId | string | No | Filter by seller |
status | string | No | pending, auctioned, funded, collected, put-back |
Response: Array of receivables with invoice details, face value, due date, and status.
POST /api/exchange/receivables
Request body:
{
"entityId": "string",
"invoiceId": "string",
"faceValue": 0,
"currency": "USD",
"dueDate": "YYYY-MM-DD",
"debtorId": "string",
"metadata": { }
}Auctions
| Method | Endpoint | Description |
|---|---|---|
GET | /api/exchange/auctions | List auctions (active, closed) |
POST | /api/exchange/auctions | Create auction or place bid |
GET /api/exchange/auctions
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
receivableId | string | No | Filter by receivable |
status | string | No | open, closed, won |
Response: Array of auctions with receivable, bids, winning bid, and status.
POST /api/exchange/auctions
Request body:
{
"action": "create" | "bid",
"receivableId": "string",
"reservePrice": 0,
"endTime": "ISO8601",
"bidAmount": 0,
"investorId": "string"
}Portfolio
| Method | Endpoint | Description |
|---|---|---|
GET | /api/exchange/portfolio | Investor portfolio |
GET /api/exchange/portfolio
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string | Yes | Investor entity ID |
Response: Portfolio summary with positions, outstanding receivables, realized returns, and aging.
Collections
| Method | Endpoint | Description |
|---|---|---|
GET | /api/exchange/collections | List collection records |
POST | /api/exchange/collections | Record collection (payment received) |
GET /api/exchange/collections
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
receivableId | string | No | Filter by receivable |
entityId | string | Yes | Entity ID for tenant context |
Response: Array of collection records with amount, date, and allocation to investors.
POST /api/exchange/collections
Request body:
{
"entityId": "string",
"receivableId": "string",
"amount": 0,
"collectionDate": "YYYY-MM-DD",
"reference": "string"
}Put-backs
| Method | Endpoint | Description |
|---|---|---|
GET | /api/exchange/put-backs | List put-back requests |
POST | /api/exchange/put-backs | Initiate or resolve put-back |
GET /api/exchange/put-backs
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string | Yes | Entity ID |
status | string | No | pending, accepted, rejected |
Response: Array of put-back requests with receivable, reason, and resolution.
POST /api/exchange/put-backs
Request body:
{
"action": "initiate" | "resolve",
"entityId": "string",
"receivableId": "string",
"reason": "string",
"putBackId": "string",
"accepted": true
}Backstops
| Method | Endpoint | Description |
|---|---|---|
GET | /api/exchange/backstops | Market maker backstop commitments |
GET /api/exchange/backstops
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string | No | Market maker entity |
status | string | No | active, utilized, expired |
Response: Array of backstop commitments with capacity, pricing, and utilization.
Statistics
| Method | Endpoint | Description |
|---|---|---|
GET | /api/exchange/stats | Exchange statistics |
GET /api/exchange/stats
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
entityId | string | No | Filter by entity (admin) |
Response: Aggregate stats — total receivables submitted, volume traded, default rate, average yield, active auctions.