The request object
string
UUID.
string
UUID of the user asking for money.
string | null
UUID of the user asked to pay. Null for payment links.
string | null
Payer’s phone, when the request was made by phone.
string
DIRECT, GLOBAL or OTHER.number
Decimal USDC.
string | null
Note from the requester.
string
https://app.numpay.app/send?requestId={id}.string
PENDING, APPROVED, REJECTED or CANCELED.string
ISO 8601 timestamp.
object
Public fields of the requester.
object | null
Public fields of the payer.
Create a direct request
POST /request · Requires auth
The payer must already exist (the app creates a claimable wallet first if needed).
string
required
Requester’s user UUID.
string
Payer’s E.164 phone. Required unless
payerEmail is given.string
Payer’s email.
number
required
Greater than 0.
string
Note shown to the payer.
string
DIRECT.Response 201
400 missing payer or amount, or amount ≤ 0 · 404 payer not found.
Create a payment link
POST /request/global · Requires auth
string
required
Requester’s user UUID.
number
required
Greater than 0.
string
Note shown to payers.
201 with the same shape as a direct request. Anyone signed in, other than the requester, can pay the link.
Get a request
GET /request/get/{id}
Returns the request object with requester and requestFrom, or 404.
List a user’s requests
GET /request/get/all/{userId}
All requests the user made or was asked to pay.
List requests waiting for a user
GET /request/pending/{userId}
PENDING requests where the user is the payer.
Cancel a request
POST /request/cancel/{requestId} · Requires auth
Sets a PENDING request to CANCELED.
Response
404 not found · 400 request isn’t pending.
Update a request’s status
PUT /request/update-status/{requestId} · Requires auth
Used by the payer after paying (APPROVED) or declining (REJECTED). Applies to requests with a payer.
string
required
APPROVED or REJECTED.Response

