QMail Two-Client GET Test Calls

GET

Clickable GET calls for testing the QMail send and receive lifecycle with Client1 listening on port 8081 and Client2 listening on port 8082. Every link opens in a new window and has a copy button.

Last reviewed against rest_core/api_src: 2026-05-18.

Client1 Sender Port 8081
SN 55076
@chariot.pyramid.byte
Client2 Receiver Port 8082
SN 55077
@chariot.harbor.byte
Flow Upload first, Tell second, then PEEK/PING and download.

How To Use These Links

Prepared for Local Two-Client Testing

These links assume core.exe is already running for Client1 and Client2. Use the status and identity links first. For deterministic manual PING/PEEK testing, stop Client2's background beacon before sending a test mail.

Replace Placeholder Values

Links containing REPLACE_WITH_FILE_GUID, REPLACE_WITH_TASK_ID, REPLACE_WITH_EMAIL_ID, or REPLACE_WITH_ATTACHMENT_ID must be edited after a previous call returns the real value.

Client Readiness

Use these first to confirm both local rest_core clients are running and using the expected Mail wallet identity.

Client1 local status GET

Sender on port 8081.

Client2 local status GET

Receiver on port 8082.

Client1 identity GET

Expected SN 55076, address @chariot.pyramid.byte.

Client2 identity GET

Expected SN 55077, address @chariot.harbor.byte.

Receiver Beacon Control

Stop Client2 background beacon polling before deterministic manual PING/PEEK tests, then start it again when finished.

Client2 stop background beacon GET

Prevents the background beacon from racing manual PING/PEEK checks.

Beacon PEEK and PING

PEEK returns quickly. PING long-polls until a Tell arrives or the timeout expires.

Client2 PEEK all waiting tells GET
Client2 PING long-poll GET

timeout is rest_core client-side wait time, capped by the API; it is not the RAIDA server-side long-poll cap.

Split Upload then Tell

This is the main troubleshooting flow: upload first, inspect task/receipt state, then tell the receiver beacon.

Client1 tell after upload GET

Replace the placeholder with the file_guid returned by upload.

Client1 receipt while Tell is running GET

Open immediately after starting Tell to observe tell.status in_progress, then refresh to see partial or success.

Convenience Upload and Tell

Use this when the caller wants the API to run upload and Tell back-to-back as one async task.

Observe and Download

After upload/tell, use task status and receipts on Client1, then PEEK/download on Client2.

Client1 read receipt GET

Replace guid with the returned file_guid.

Client1 task status GET

Replace id with the returned task_id. The upload response also returns the canonical task URL.

Client2 download by GUID and sender SN GET

sender_sn is fallback metadata from the PEEK/PING notification; it is mainly needed if the pending tell row has already been consumed.

Client2 inbox list GET

Confirms the downloaded email is present in Client2 local DB.

Client2 read downloaded email GET

Replace email_id with the value returned by download. Receiver storage uses the file_guid as the email_id.

Client2 list downloaded attachments GET

Use the email_id returned by download, not the upload task_id.

Client2 PEEK after download GET

Uses since=0, so it shows the full current queue; compare with the pre-download PEEK to confirm the queue changed.