๐Ÿ—บ๏ธ PeerPin โ€” API Console

Test environment for all PeerPin APIs โ€” REST & WebSocket

๐Ÿ”’ Not logged in
๐Ÿ”ด WebSocket: Disconnected
๐Ÿ“ Sharing: --

๐Ÿ“– Quick Guide

1๏ธโƒฃ

Register

Create account with email & password (no auto-login)

2๏ธโƒฃ

Login

Authenticate with your credentials & get JWT token

3๏ธโƒฃ

Manage Profile

View & update display name, bio, phone, avatar

4๏ธโƒฃ

Test APIs

Explore groups, location sharing, chat & more

๐Ÿ” Authentication

Register New User

Login

๐Ÿ”‘ Forgot Password

Request Password Reset

๐Ÿ’ก Enter your email to receive a password reset link

๐Ÿ” Change Password

๐Ÿ’ก Change your password (must know current password)

๐Ÿ”‘ Set Password (OAuth Users)

๐Ÿ’ก For users who signed up via Google/Apple and have no password set

๐Ÿ“ง Change Email Address

๐Ÿ’ก A verification email will be sent to the new address. The change takes effect after verification.

Request Email Change

Confirm Email Change

๐Ÿ’ก Paste the token from the verification email sent to your new address

๐Ÿ“ง Resend Email Verification

๐Ÿ’ก Token expired? Enter your email to get a new verification link (valid for 30 minutes)

๐Ÿš€ OAuth Login (One-Click)

โœ… Opens in new tab - auto-closes after login!

โš ๏ธ Requires GOOGLE_CLIENT_ID/SECRET in env vars

By signing in, you agree to our Privacy Policy and Terms of Service

๐Ÿ“ฑ OAuth Mobile Testing (ID Token)

โš ๏ธ For mobile apps - paste ID token from Google/Apple SDK

๐Ÿ”— Link OAuth to Account

Must be logged in first

๐Ÿ”— Linked Providers

View which OAuth providers are linked to your account

Logout

๐Ÿ’ก Invalidates your access and refresh tokens immediately

๐Ÿ”„ Token Refresh

Auto-refresh is active when logged in. Use the button below to test manually.

Login to see token status

Current Session

User ID:
Token:
Role: Not logged in

๐Ÿ‘ค Profile Management

Get Current Profile

๐Ÿ’Ž Subscription & Limits

๐Ÿ“ฑ Manage Subscription

Subscriptions are managed through the app store. Get instructions and a direct link below.

๐Ÿ“ Location Sharing Settings

Update Profile (Partial Update)

๐Ÿ’ก Leave fields empty to keep current values. Set display name after registration.

Must start with + and country code (e.g., +1 for US, +44 for UK)

Upload Profile Picture

โœ… Supported: JPEG, PNG, WebP

โš ๏ธ Danger Zone

Warning: Account will be marked for deletion with a 30-day grace period. You can restore it within 30 days using the restore endpoint.

โ™ป๏ธ Restore Deleted Account

Restore a deleted account within the 30-day grace period

Restore with Credentials (unauthenticated)

Restore Authenticated (requires valid token)

Use when you still have a valid session token

๐Ÿ“‹ User API Log

Requests: 0

๐Ÿ“– Group Management Guide

1๏ธโƒฃ

Login First

Use the User Profile tab to login and get your session token

2๏ธโƒฃ

Create Group

Create a new group with a name, duration, and member limit

3๏ธโƒฃ

Join Group

Join an existing group using its 6-character code

4๏ธโƒฃ

Manage Members

View group members and remove them (if you're the owner)

โž• Create New Group

Group Details

Group will auto-expire after this duration (capped by your subscription tier limit)
When enabled, members must be approved by owner/admin before joining
๐Ÿ“Š Max members per group is determined by your subscription tier.

๐Ÿšช Join Existing Group

Enter Group Code

Enter the 6-character group code

๐Ÿ“‹ My Groups

Active & Expired Groups

Click "Refresh My Groups" to load your groups

โณ My Pending Requests

Click "Refresh Pending Requests" to check your pending join requests

๐Ÿ‘ฅ Group Members

View Members

Select a group to view its members

๐Ÿ“ก WebSocket Real-Time Monitoring

๐Ÿ”ด Live Group Updates

Automatic monitoring: This section automatically connects to WebSocket and displays all your groups with real-time updates as events occur (members join, leave, etc.)

Initializing WebSocket monitoring...

๐Ÿ’ก Real-time features:
  • โœ… Auto-subscribes to all your groups
  • ๐Ÿ“Š Member count updates instantly
  • ๐Ÿ”” Events logged in real-time
  • ๐Ÿ”„ New groups auto-detected

๐Ÿ“‹ Groups API Log

Requests: 0

๐Ÿ“– Location Tracking Guide

1๏ธโƒฃ

Login First

Use the User Profile tab to login and get your session token

2๏ธโƒฃ

Join a Group

Use the Group Management tab to create or join a group

3๏ธโƒฃ

Share Location

Send your GPS coordinates to group members in real-time

4๏ธโƒฃ

View Nearby

See group members on the compass and check their distances

๐Ÿ“ Share Your Location

๐Ÿ”Œ WebSocket Connection

Connect to receive real-time location updates from group members

GPS Coordinates

๐Ÿ’ก Your location will be shared automatically with all your active groups

๐Ÿ—บ๏ธ Quick Locations

๐Ÿค– Location Simulation

โ„น๏ธ Two controls work together:
โ€ข Tracking Mode โ€” controls how often data is sent to the server (batch interval + distance filter). This exists in production.
โ€ข Movement Mode โ€” controls how the simulated person moves (speed + direction). This is for testing only โ€” in production, real GPS provides movement.
๐Ÿƒ Active Mode: Updates every 15 seconds (10m sensitivity)
๐Ÿšถ Walking: ~3.9m every 3s, gradual turns โ€” normal festival movement
Simulates realistic human movement at a party/festival
๐Ÿ’ก Idle mode bypasses the distance filter so your position still updates even when stationary (GPS jitter only). Walking/Running respect the tracking mode's distance threshold.

๐Ÿ“‹ Available Tracking Modes

๐Ÿ’ก Fetch tracking mode configurations from the backend

๐Ÿ‘ฅ Active Group Members

Select Group to View

Choose a group to see real-time locations of members

No users yet. Send location updates to see active users.

๐Ÿงญ Compass View

Visual representation of group members' positions relative to you

N
E
S
W
YOU
Your position is in the center. Group members appear based on direction and distance.

๐Ÿ“‹ Location API Log

Requests: 0

๐Ÿ“– Chat System Guide

1๏ธโƒฃ

Select Group

Choose a group to chat in

2๏ธโƒฃ

Send Message

Send real-time chat via WebSocket

3๏ธโƒฃ

View Messages

See group chat history

4๏ธโƒฃ

Delete Messages

Delete your own messages

๐Ÿ‘ฅ Select Group

๐Ÿ’ฌ Chat Messages

Select a group to start chatting


๐Ÿ“œ View Messages

๐Ÿ‘ Message Reactions

๐Ÿ’ก React to a message with an emoji. Copy message ID from chat history above.

๐Ÿ—‘๏ธ Delete Message

๐Ÿ’ก Copy message ID from chat history above

๐Ÿ“ฆ Export Chat History

๐Ÿ’ก Export your chat history. Select a group or export all.

๐Ÿ“‹ Chat API Log

Requests: 0
โš ๏ธ Not logged in โ€” Admin endpoints require ADMIN or SUPER_ADMIN role. Please log in first.

๐Ÿ“– Admin Panel

๐Ÿ‘ฅ

Users

Search, browse, manage roles & account status

๐Ÿ“

Groups

List, view & delete any group

๐Ÿ“œ

Audit Logs

Query system audit trail

โš™๏ธ

Tier Config

Manage subscription tier settings

๐Ÿ’ณ

Billing

Refunds & subscription overrides

๐Ÿ›ก๏ธ

Roles & Permissions

Dynamic RBAC โ€” manage roles & permissions

๐Ÿšซ

Content Moderation

Manage blocked patterns & review moderation log

๐Ÿ””

Notifications

Toggle notification types & broadcast announcements

๐Ÿ“Š System Stats

๐Ÿ” User Search & Browse

List / Search All Users

Paginated user listing with optional email search

Get User by ID

๐Ÿ‘ค Role Management

Update User Role

โš ๏ธ Requires ADMIN or SUPER_ADMIN role

Get Users by Role

Get All Admins

๐Ÿšซ Account Status

Suspend User

โš ๏ธ ADMIN can suspend up to MODERATOR. SUPER_ADMIN can suspend anyone except last SUPER_ADMIN.

Unsuspend User

๐Ÿ” Force Actions

Force Logout

Invalidate all sessions for a user

Force Password Reset

Send a password reset email to the user

Verify Email (Manual)

Manually verify a user's email (e.g. when they can't receive emails)

๐Ÿ—‘๏ธ Delete User

โš ๏ธ Permanent action โ€” use with caution

๐Ÿ“‹ Admin API Log

Requests: 0

๐Ÿ“Š Group Stats

๐Ÿ“‹ List All Groups

๐Ÿ” Lookup Group

๐Ÿ—‘๏ธ Delete Group

โš ๏ธ Permanent โ€” removes the group and all memberships

๐Ÿ“‹ Admin API Log

Requests: 0

๐Ÿ“Š Audit Stats

๐Ÿ“œ Audit Log Viewer

Query Audit Logs

โš ๏ธ Requires SUPER_ADMIN role

๐Ÿ“‹ Admin API Log

Requests: 0

โš™๏ธ Tier Configuration

View Tier Configs

Get Specific Tier

โœ๏ธ Update Tier Configuration

โš ๏ธ Requires ADMIN role. Only filled fields are updated.

๐Ÿ‘ฅ Group Features
๐Ÿ“ Location Features
๐Ÿ’ฌ Chat Features
๐ŸŸข Presence Features
๐Ÿ‘ค Profile Features
๐Ÿ“ข Ads
๐Ÿšจ SOS Features

๐Ÿ”„ Reset Tier Defaults

โš ๏ธ Resets all settings for this tier back to system defaults

๐Ÿ“‹ Admin API Log

Requests: 0

๐Ÿ“Š Billing Stats

๐Ÿ“Š Subscription Stats

๐Ÿ” Payment Search

Search payment history. Leave empty to list all payments, or filter by user.

๐Ÿ’ธ Issue Refund

โš ๏ธ Requires SUPER_ADMIN role

๐Ÿ”„ Transfer Subscription

โš ๏ธ Atomically transfers a subscription from one user to another (SUPER_ADMIN)

๐Ÿ” Subscription Lookup

View a user's current subscription tier, limits, and expiry

๐ŸŽซ Subscription Override

โš ๏ธ Overrides the user's current subscription โ€” deactivates the existing tier and sets a new one for the specified duration

๐Ÿท๏ธ Promo Codes

Create and manage discount promo codes (3โ€“12 characters)

๐Ÿ“‹ Plan Management

Create and manage billing plans (any price, duration, tier)

๐Ÿ“‹ Admin API Log

Requests: 0

๐Ÿ›ก๏ธ All Roles

๐Ÿ” Get Role by ID

โž• Create Custom Role

Name must be UPPER_SNAKE_CASE (e.g., CONTENT_REVIEWER)

โœ๏ธ Update Role

๐Ÿ—‘๏ธ Delete Role

โš ๏ธ Only custom roles can be deleted. Users must be reassigned first.

๐Ÿ”‘ Permissions

All Available Permissions

Assign Permissions to Role

Replace the entire permission set for a role

๐Ÿ“‹ Admin API Log

Requests: 0

๐Ÿšซ Blocked Patterns

โž• Create Pattern

โœ๏ธ Get / Update Pattern

Fill in only the fields you want to update

๐Ÿ—‘๏ธ Delete Pattern

๐Ÿ“œ Moderation Log

โœ… Review Log Entry

๐Ÿ“Š Moderation Stats

๐Ÿ’ฌ Group Chat Context

View full conversation for moderation review. Click ๐Ÿ’ฌ in the log table to auto-fill.

๐Ÿ“‹ Admin API Log

Requests: 0

โš™๏ธ System Notification Settings

Toggle notification types on/off system-wide. Disabled types will not be sent to any user.

๐Ÿ“ข Broadcast System Announcement

๐Ÿ“‹ Admin API Log

Requests: 0

๐Ÿ“– SOS Alerts Guide

๐Ÿšจ

Trigger SOS

Send an emergency alert to all group members

๐Ÿ“

Location Included

SOS alerts include your last known location

โœ…

Resolve Alerts

Mark alerts as resolved when the situation is handled

๐Ÿ“œ

View History

Browse past alerts with pagination

๐Ÿšจ Trigger SOS Alert

๐Ÿ“‹ Active SOS Alerts

โœ… Resolve SOS Alert

๐Ÿ“œ SOS Alert History

๐Ÿ“‹ SOS API Log

Requests: 0

๐Ÿ“– Presence System Guide

๐ŸŸข

Auto-Detected

Status is automatically detected: Online, Idle, Offline

๐Ÿ’“

Heartbeat

WebSocket heartbeats keep your status alive

โŒจ๏ธ

Typing

Typing indicators show who is composing a message

๐Ÿ“Š

Stats

View global online stats and group presence

๐Ÿ‘ค User Presence Lookup

๐Ÿ‘ฅ Batch Presence Lookup

๐Ÿ‘ฅ Group Presence

๐Ÿ“Š Global Online Stats

๐Ÿ“ก WebSocket Presence Testing

๐Ÿ  Join/Leave Group Presence

WebSocket must be connected first (use status bar above)

โŒจ๏ธ Typing Indicator Testing

๐Ÿ’“ Heartbeat Status

Heartbeat: Not started

๐Ÿ“ก WebSocket Events

No events yet. Join a group to receive presence updates.

๐Ÿ“‹ Presence API Log

Requests: 0

๐Ÿ“– Notification System Guide

๐Ÿ””

Real-time

Notifications arrive instantly via WebSocket

๐Ÿ“‹

Persistent

Notifications are stored and retrievable via REST API

โœ…

Bulk Actions

Mark as read or delete multiple notifications at once

๐Ÿ”

Filter

Filter by read/unread status and paginate

๐Ÿ”ง

Preferences

Configure per-type notification channels (in-app, email, push)

๐Ÿ“‹ Fetch Notifications

โšก Bulk Actions

โœ… Mark as Read

๐Ÿ—‘๏ธ Delete Notifications

๐Ÿ”ง Notification Preferences

View and update your per-type notification channel preferences.

๐Ÿ”” Push Token

Register or unregister a device push token (Expo Push Token).

๐Ÿ“‹ Notification API Log

Requests: 0

๐Ÿ“– Health Check Overview

๐Ÿฅ

System Health

Check if the application is running and responsive

๐Ÿ’พ

Database Status

Verify database connectivity and health

โฑ๏ธ

Response Time

Monitor API response latency

๐Ÿ”„

Auto Refresh

Enable automatic health monitoring

๐Ÿฅ Health Check

Manual Health Check

Auto Refresh

Current Status

โณ
Click "Check Health" to get status

โ„น๏ธ Endpoint Information

Endpoint: GET /actuator/health

Authentication: None required (public endpoint)

Response Format: JSON

๐Ÿ“‹ Health API Log

Requests: 0

๐Ÿ“– Billing Guide

๐Ÿ“‹

Browse Plans

View available subscription plans from the database

๐Ÿ’ณ

Checkout

Start a payment session (stub auto-completes)

๐Ÿ“œ

History

View all payment records and subscription status

๐Ÿ“‹ Available Plans

๐Ÿ’ณ Create Checkout

๐Ÿท๏ธ Validate Promo Code

๐Ÿ“Š Subscription Status

๐Ÿ“œ Payment History

๐Ÿ“ฑ Manage Subscription

Get store-specific instructions and a deep link for managing or cancelling your subscription.

๐Ÿšซ Cancel Subscription

โš ๏ธ Cancels at end of billing period. You keep access until then.

๐Ÿ”„ Restore Manual Purchase

Restore a subscription using the Order ID and email from your store receipt.

๐Ÿ“‹ Billing API Log

Requests: 0