Endpoint
Overview
Checks the connection status for a specific service. Returns whether the service is connected and entitlement details.
Request
Requires authentication via Bearer token.
Query Parameters
service
ServiceIdentifier
required
Service identifier: DROP, MAILS, VAULT, or DB
Response
Whether the service is connected
Access tier (if entitlement exists)
Premium access flag (if entitlement exists)
Implementation Details
Code Reference
export async function GET(request: NextRequest) {
const corsResponse = handleCors(request)
if (corsResponse) return corsResponse
const blocked = await protectRoute(request)
if (blocked) return blocked
const auth = await requireAuth(request)
if ('error' in auth) return auth.error
try {
const { searchParams } = new URL(request.url)
const service = searchParams.get('service') as 'DROP' | 'MAILS' | 'VAULT' | 'DB' | null
if (!service) {
return errorResponse('Service parameter is required', 400, request.headers.get('origin'))
}
if (!['DROP', 'MAILS', 'VAULT', 'DB'].includes(service)) {
return errorResponse('Invalid service. Must be DROP, MAILS, VAULT, or DB', 400, request.headers.get('origin'))
}
const entitlement = await prisma.userServiceEntitlement.findUnique({
where: {
userId_service: {
userId: auth.userId,
service: service,
},
},
})
if (!entitlement) {
return jsonResponse(
{
connected: false,
service,
message: 'No entitlement found for this service',
},
200,
request.headers.get('origin')
)
}
return jsonResponse(
{
connected: (entitlement as any).connected ?? true,
service: entitlement.service,
tier: entitlement.tier,
isPremium: entitlement.isPremium,
},
200,
request.headers.get('origin')
)
} catch (error) {
logger.error('Check connection status error:', error)
return errorResponse('Internal server error', 500, request.headers.get('origin'))
}
}
Status Codes
Success (even if no entitlement found)
Missing or invalid service parameter
Missing or invalid authentication token
Example Request
curl -X GET "https://auth.nullpass.xyz/api/connect/check?service=DROP" \
-H "Authorization: Bearer YOUR_TOKEN"
Example Response
Connected Service
{
"connected": true,
"service": "DROP",
"tier": "premium",
"isPremium": true
}
No Entitlement
{
"connected": false,
"service": "DROP",
"message": "No entitlement found for this service"
}
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Available options:
DROP,
MAILS,
VAULT,
DB
Available options:
DROP,
MAILS,
VAULT,
DB