Skip to main content
GET

Overview

Retrieves the current onboarding status for a merchant using the onboarding reference number. This is a lightweight endpoint that returns only essential status information without the full onboarding data.
Ideal for: Polling the onboarding status, quick status checks in dashboards, or determining if full onboarding data needs to be fetched.
Lightweight Alternative: Use this endpoint instead of Retrieve Onboarding Data when you only need to check the approval status.

Authentication

This endpoint requires JWT Bearer Token authentication.
Authorization Required: The authenticated user must be the owner of the onboarding record. Only the user who created the onboarding record can retrieve its status.

Path Parameters

string
required
The onboarding reference number (UUID v4 format)Format: Valid UUID v4Example: "550e8400-e29b-41d4-a716-446655440000"
This is the referenceNumber returned when you successfully submit an onboarding request via the Onboard Merchant endpoint.

Response

Success Response

Status Code: 200 OK
string
required
Current status of the merchant’s onboarding applicationValues:
  • NEW: Merchant completed onboarding, awaiting initial approval
  • PENDING: Merchant updated form after decline, awaiting re-approval
  • APPROVED: Merchant has been approved
  • DECLINED: Merchant was declined and needs to update their form
Example: "NEW"
string
required
Unique identifier for the onboarding record (same as path parameter)Format: UUID v4Example: "550e8400-e29b-41d4-a716-446655440000"
string
required
Trading name or DBA (Doing Business As) name of the merchantExample: "Acme Store"
string
required
Timestamp when the onboarding record was initially createdFormat: ISO 8601Example: "2024-01-15T10:30:00Z"
string
Timestamp of the most recent status changeFormat: ISO 8601Example: "2024-01-20T14:45:00Z"
This is the latest date among ApprovedAt, DeclinedAt, or PendingAt. Returns null if no status change has occurred (still in NEW status).
string
Reason provided by admin when declining the applicationExample: "Missing required documents: SEC Registration Certificate"
Visibility: Present only when onboardingStatus is DECLINED. Set to null for other statuses.

Response Examples

Error Responses

Status Code: 400
Cause: The reference number provided is not a valid UUID v4 formatSolution: Ensure the reference number is a valid UUID v4 string
Status Code: 400
Cause: No onboarding record found for the authenticated userPossible Reasons:
  • The authenticated user has no associated business account
  • The business account has no associated business record
  • The onboarding record was deleted
Solution: Verify the user has completed the onboarding process
Status Code: 400
Cause: The provided reference number does not match the authenticated user’s business recordSolution: Ensure you’re using the correct JWT token for the account that owns this onboarding record
Status Code: 401
Cause: Invalid or missing JWT Bearer token, or account doesn’t existSolution:
  • Verify the Authorization header contains a valid JWT token
  • Ensure the token hasn’t expired
  • Confirm the account exists in the system

Status Flow Diagram

The onboarding status follows this flow:
1

NEW

Merchant has completed the onboarding form and submitted it for initial review. Awaiting admin approval.
2

DECLINED (Optional)

Admin reviewed the application and declined it. The declinedReason field contains the reason for rejection. Merchant needs to update their information.
3

PENDING (Optional)

Merchant has updated their form after being declined and resubmitted for review. Awaiting admin re-approval.
4

APPROVED

Admin has approved the merchant’s onboarding application. Merchant can now process transactions.

Polling Best Practices

Use this lightweight endpoint for efficient status polling:
Implement exponential backoff to reduce server load:
Cache the status response to reduce unnecessary API calls:
Automatically stop polling when reaching a terminal status:

Use Cases

Dashboard Status Widget

Display real-time onboarding status in merchant dashboards

Automated Polling

Poll for status changes without fetching full onboarding data

Conditional UI Updates

Show/hide UI elements based on approval status

Notification Triggers

Trigger notifications when status changes to APPROVED or DECLINED

Status Comparison Table

When to Use This Endpoint

  • Polling for status changes
  • Dashboard status displays
  • Quick status checks
  • Determining if full data fetch is needed
  • Triggering status-based workflows
  • Mobile applications (reduced bandwidth)

Troubleshooting

Error: Onboarding reference number mismatchCause: Trying to access an onboarding record that doesn’t belong to your accountSolution:
  • Verify you’re using the correct JWT token
  • Each onboarding record can only be accessed by the account that created it
  • Ensure you’re not mixing sandbox and production reference numbers
Issue: Status remains in NEW or PENDING indefinitelyPossible Causes:
  • Onboarding awaiting manual admin approval
  • Application is in review queue
  • Additional documentation may be required
Solution:
  • Implement maximum polling attempts (recommended: 30-60 minutes)
  • Contact support if status hasn’t changed after reasonable time
  • Check for any notifications or emails from the approval team
Issue: declinedReason is null even though status is DECLINEDPossible Causes:
  • Admin declined without providing a reason (rare)
  • Data synchronization issue
Solution:

Next Steps

Retrieve Full Data

Get complete onboarding data including all details

Onboard Merchant

Create a new merchant onboarding record

Create Account

Create an account before onboarding

Authentication Guide

Learn about JWT token authentication

Authorizations

Authorization
string
header
required

JWT Bearer token authentication

Path Parameters

refNo
string<uuid>
required

The onboarding reference number (UUID v4 format)

Response

Onboarding status retrieved successfully

onboardingStatus
enum<string>

Current status of the merchant's onboarding application

Available options:
NEW,
PENDING,
APPROVED,
DECLINED
onboardingReferenceNumber
string<uuid>

Unique identifier for the onboarding record

merchantName
string

Trading name or DBA name of the merchant

dateCreated
string<date-time>

Timestamp when the onboarding record was created

dateUpdated
string<date-time> | null

Timestamp of the most recent status change

declinedReason
string | null

Reason provided when declining the application (only present when status is DECLINED)