Earned Wage Access

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

FieldTypeDescription
connectedFinancialAccountIdstring (nullable)The financial account ID where EWA funds are deposited.
maxEwaAmountinteger (int32)The maximum amount in cents the customer can withdraw through EWA right now.
nextPayDatestring (date-time)The expected date of the customer's next paycheck (ISO 8601).
ewaPayDatestring (date-time)The date when EWA funds will be made available to the customer (ISO 8601).
feenumber (float)The service fee charged for using EWA.
reviewStatusinteger (enum)Current review stage of the EWA request: 1 = Review, 2 = Accepted, 3 = Rejected, 4 = Cancelled, 5 = Repaid.
updateRequestStatusDatestring (date-time, nullable)The date and time when the review status was last updated (ISO 8601).
currentStatusobjectObject containing the current state of the EWA service for this customer. See fields below.
currentStatus.isActivebooleanWhether EWA is currently active for the customer.
currentStatus.frequencyinteger (enum)How often EWA is provided: 1 = One-time withdrawal, 2 = Every paycheck (recurring).
currentStatus.userOwnsMoneybooleanWhether the customer currently owes repayment for a previous EWA withdrawal.
currentStatus.ewaAmountnumber (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

CodeWhen it happens
401Token missing, expired, or invalid
403Insufficient permissions or EWA not available for this customer type
404No EWA record found for the authenticated customer
500Internal 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 maxEwaAmount and ewaAmount — both values are in cents; divide by 100 to display dollar amounts.
  • Ignoring userOwnsMoney — if true, a prior EWA withdrawal has not yet been repaid and a new withdrawal may not be permitted.
  • Not checking reviewStatus before attempting a withdrawal — a status of 3 (Rejected) or 4 (Cancelled) means the current EWA request cannot proceed.
  • Confusing nextPayDate and ewaPayDatenextPayDate is the actual payday, while ewaPayDate is when the advance funds are made available (typically a few days earlier).

Related Endpoints

  • POST /api/PinW/earnedWageAccess — Submit a new EWA withdrawal request
  • POST /api/PinW/connect — Connect a payroll account via Pinwheel to enable EWA
  • GET /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"
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json