Get Earned Wage Access Status
This endpoint allows a customer to check the availability and conditions of the Earned Wage Access (EWA) service. The response provides details about whether the service is enabled, the maximum amount the customer can withdraw, upcoming pay dates, applicable fees, and the current EWA status. EWA is integrated via Pinwheel and requires an active payroll connection.
Endpoint
GET /api/PinW/earnedWageAccess
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint before initiating an EWA withdrawal to confirm the service is active and to retrieve the current maximum withdrawal amount and next pay dates. This is also useful for displaying EWA eligibility and status information in a customer-facing dashboard. Call this endpoint to check whether a prior EWA request is still in review, has been accepted, or requires repayment.
Response
200 OK
| Field | Type | Description |
|---|---|---|
connectedFinancialAccountId | string (nullable) | The financial account ID where EWA funds are deposited. |
maxEwaAmount | integer (int32) | The maximum amount in cents the customer can withdraw through EWA right now. |
nextPayDate | string (date-time) | The expected date of the customer's next paycheck (ISO 8601). |
ewaPayDate | string (date-time) | The date when EWA funds will be made available to the customer (ISO 8601). |
fee | number (float) | The service fee charged for using EWA. |
reviewStatus | integer (enum) | Current review stage of the EWA request: 1 = Review, 2 = Accepted, 3 = Rejected, 4 = Cancelled, 5 = Repaid. |
updateRequestStatusDate | string (date-time, nullable) | The date and time when the review status was last updated (ISO 8601). |
currentStatus | object | Object containing the current state of the EWA service for this customer. See fields below. |
currentStatus.isActive | boolean | Whether EWA is currently active for the customer. |
currentStatus.frequency | integer (enum) | How often EWA is provided: 1 = One-time withdrawal, 2 = Every paycheck (recurring). |
currentStatus.userOwnsMoney | boolean | Whether the customer currently owes repayment for a previous EWA withdrawal. |
currentStatus.ewaAmount | number (float, nullable) | The amount in cents currently approved for withdrawal. |
{
"connectedFinancialAccountId": "XXXXXXXXXX",
"maxEwaAmount": 50000,
"nextPayDate": "2024-10-01T00:00:00Z",
"ewaPayDate": "2024-09-28T00:00:00Z",
"fee": 5.0,
"reviewStatus": 2,
"updateRequestStatusDate": "2024-09-25T14:32:00Z",
"currentStatus": {
"isActive": true,
"frequency": 1,
"userOwnsMoney": false,
"ewaAmount": 20000
}
}Error Codes
| Code | When it happens |
|---|---|
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions or EWA not available for this customer type |
| 404 | No EWA record found for the authenticated customer |
| 500 | Internal server error |
Common Mistakes
- Calling this endpoint without a Pinwheel payroll connection established — EWA requires an active Direct Deposit connection via Pinwheel before the service can be activated.
- Misinterpreting
maxEwaAmountandewaAmount— both values are in cents; divide by 100 to display dollar amounts. - Ignoring
userOwnsMoney— iftrue, a prior EWA withdrawal has not yet been repaid and a new withdrawal may not be permitted. - Not checking
reviewStatusbefore attempting a withdrawal — a status of3(Rejected) or4(Cancelled) means the current EWA request cannot proceed. - Confusing
nextPayDateandewaPayDate—nextPayDateis the actual payday, whileewaPayDateis when the advance funds are made available (typically a few days earlier).
Related Endpoints
POST /api/PinW/earnedWageAccess— Submit a new EWA withdrawal requestPOST /api/PinW/connect— Connect a payroll account via Pinwheel to enable EWAGET /api/PinW/status— Retrieve overall Pinwheel payroll connection status
Example
curl -X GET https://api.banking.netevia.dev/api/PinW/earnedWageAccess \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"