What's New This Week: Updated 2026-04-18 20:28:44 UTC
Wallet and Telegram mission rollout updates shipped this week across mission catalog hardening, mini-app UX, and operator visibility.
Open full release notes

OpenAPI Schema Explorer

Search endpoints, fields, and examples across the public API specs.

JSON

Operations (63)

Operation Summary Fields Example
GET /api/partner/analytics/usage Per-key usage analytics and webhook delivery health hours n/a
GET /api/partner/capabilities Partner API capability discovery include_meta, If-Modified-Since {"success":true,"partner":"Acme Partner","key_id":"acme_key","docs":{"api_guide":"/developers/api-guide.md","openapi":"/api/openapi.yaml"},"query_support":{"include_meta":true},"meta":{"request_id":"abc123","generated_at_utc":"2026-03-08T20:00:00Z"}}
POST /api/partner/donation-claim Issue a donation claim (if enabled) n/a n/a
GET /api/partner/status Partner integration status page payload n/a n/a
GET /api/partner/user-lookup Lookup partner-linked users by email/username/wallet q, email, username, wallet, include_wallets, status, limit, offset, cursor, include_meta {"success":true,"count":1,"users":[{"id":42,"username":"vet_user","status":"active"}],"query":{"limit":10,"offset":0,"cursor":null,"q":null,"status":"active"},"pagination":{"has_more":false,"next_offset":null,"next_cursor":null},"meta":{"request_id":"abc123","generated_at_utc":"2026-03-08T20:00:00Z"}}
GET /api/partner/users List users linked to the partner key status, q, include_wallets, limit, offset, cursor, include_meta {"success":true,"count":1,"users":[{"id":2048,"external_id":"partner-2048","username":"new_user","status":"active"}],"query":{"limit":25,"offset":0,"cursor":null,"status":null,"q":null,"include_wallets":false},"pagination":{"has_more":false,"next_offset":null,"next_cursor":null}}
POST /api/partner/users Create a user n/a {"success":true,"external_id":"partner-2048","user":{"id":2048,"username":"new_user","status":"active"}}
GET /api/partner/users/{user_id} Get a user user_id {"success":true,"user":{"id":2048,"username":"new_user","status":"active"}}
PATCH /api/partner/users/{user_id} Update a user (partial) user_id {"success":true,"user_id":2048,"updated":true}
POST /api/partner/users/{user_id}/wallets Link a wallet to a user user_id {"success":true,"user_id":2048,"wallet":{"address":"7e2vExampleWallet11111111111111111111111111111111","linked":true}}
GET /api/partner/webhook-events List partner webhook events with replay-oriented filters status, reason_tag, from, to n/a
POST /api/partner/webhook-events/replay Batch replay webhook events n/a n/a
GET /api/partner/webhooks List partner webhooks event_type, is_active, limit, offset, cursor, include_meta {"success":true,"count":1,"webhooks":[{"id":42,"event_type":"salutes.credit","is_active":1}],"pagination":{"has_more":false,"next_offset":null,"next_cursor":null},"query":{"limit":50,"offset":0,"cursor":null,"event_type":null,"is_active":null}}
POST /api/partner/webhooks Create partner webhook n/a {"success":true,"webhook":{"id":42,"event_type":"salutes.credit","target_url":"https://example.com/webhooks/vets","is_active":true,"created_at":"2026-03-08T20:00:00Z","updated_at":"2026-03-08T20:00:00Z"}}
GET /api/partner/webhooks/dlq Dead-letter queue summary and remediation guidance hours n/a
POST /api/partner/webhooks/signature/verify Verify webhook signature payloads against a candidate secret n/a n/a
DELETE /api/partner/webhooks/{webhook_id} Delete partner webhook webhook_id n/a
POST /api/partner/webhooks/{webhook_id}/test Test webhook delivery webhook_id n/a
GET /api/public-stats Public counters and stats n/a {"success":true,"stats":{"users":1250,"wallets":980,"faucet_claims_24h":41}}
GET /api/public/system-status Public system health and automation status snapshot n/a {"success":true,"status":{"overall":"ok","checks":{"api":"ok","audit_anomalies":"ok","alert_monitor":"ok","ops_jobs":"ok"}}}
GET /api/public/system-status/incidents Incident windows derived from rolling status history hours, limit {"success":true,"hours":24,"limit":10,"incidents":[{"started_at":"2026-03-05T01:08:08Z","ended_at":"2026-03-05T01:09:39Z","severity":"warn"}]}
GET /api/public/system-status/trend Rolling status history for uptime trend charts limit {"success":true,"limit":20,"counts":{"ok":18,"warn":2,"bad":0},"points":[{"generated_at":"2026-03-06T00:00:00Z","overall":"ok"}]}
GET /api/public/system-status/uptime Windowed uptime percentages and per-check degraded rates hours {"success":true,"selected_hours":168,"overall":{"degraded_pct":0.0},"checks":{"api":{"degraded_pct":0.0}}}
GET /api/salutes/balance Get salutes balance for a partner-scoped user id user_id, include_meta {"success":true,"user_id":"42","balance":1200,"partner_key_id":"acme_key"}
GET /api/salutes/conversion-policy Fetch current salutes conversion policy n/a n/a
POST /api/salutes/convert Convert salutes to VETS (policy-controlled) n/a n/a
POST /api/salutes/credit Credit salutes (partner/admin) n/a {"success":true,"user_id":"42","balance":1300,"delta":100,"ledger_entry_id":101,"idempotency_key":"idem_abc123"}
POST /api/salutes/debit Debit salutes (partner/admin) n/a {"success":true,"user_id":"42","balance":1200,"delta":-100,"ledger_entry_id":102,"idempotency_key":"idem_def456"}
GET /api/salutes/ledger Get salutes ledger entries with optional filters/pagination user_id, limit, offset, order, reason, source, include_meta {"success":true,"user_id":"42","balance":1200,"ledger":[{"id":101,"delta":100,"reason":"bonus"}],"query":{"limit":200,"offset":0,"order":"desc","reason":null,"source":null},"pagination":{"has_more":false,"next_offset":null}}
GET /api/telegram/admin/missions Admin list of mission catalog entries n/a n/a
POST /api/telegram/admin/missions Admin create mission catalog entry n/a n/a
GET /api/telegram/admin/missions/comparison Admin side-by-side daily comparison across selected missions days n/a
PATCH /api/telegram/admin/missions/{mission_key} Admin update mission catalog entry mission_key, X-Expected-Revision n/a
POST /api/telegram/admin/missions/{mission_key}/activate Admin activate mission mission_key n/a
GET /api/telegram/admin/missions/{mission_key}/analytics Admin per-day mission trend rows mission_key, days n/a
POST /api/telegram/admin/missions/{mission_key}/deactivate Admin deactivate mission mission_key n/a
GET /api/telegram/admin/missions/{mission_key}/stats Admin mission usage rollup mission_key n/a
POST /api/telegram/init/verify Verify Telegram mini-app init_data and return identity status n/a n/a
POST /api/telegram/missions/catalog List active Telegram mission catalog for mini-app n/a n/a
POST /api/telegram/missions/enroll Enroll Telegram user in mission with idempotency support n/a n/a
POST /api/telegram/missions/history Get mission history and streak context for Telegram user n/a n/a
POST /api/telegram/missions/list List mission status and policy for Telegram user n/a n/a
POST /api/telegram/missions/progress Submit mission progress event with replay and abuse controls n/a n/a
GET /api/telegram/ops/health Admin Telegram telemetry health snapshot hours, limit n/a
POST /api/telegram/wallet-claim/verify Verify wallet claim proof and link wallet to Telegram identity n/a n/a
POST /api/telegram/wallet-proof/challenge Issue wallet proof challenge for Telegram-linked user n/a n/a
POST /api/telegram/webhook Telegram webhook ingest endpoint with secret verification and replay suppression X-Telegram-Bot-Api-Secret-Token n/a
GET /api/transactions/latest Latest known token transactions limit {"success":true,"rows":[{"signature":"5SdxExampleTxSig111111111111111111111111111111111","block_time":"2026-03-05T20:00:00Z","vets_delta":"125.00"}]}
GET /status.json Alias of /api/public/system-status n/a {"success":true,"status":{"overall":"ok"}}
GET /transparency/audit-anomalies/alerts.csv Download current alert snapshot as CSV run, sigs_increase_threshold_pct, rows_increase_threshold_pct n/a
GET /transparency/audit-anomalies/alerts.json Evaluate selected run against configurable alert thresholds run, sigs_increase_threshold_pct, rows_increase_threshold_pct, include_recommendations {"success":true,"selected_run":"latest","selected_label":"Latest (rolling)","evaluated_at":"2026-02-16T08:00:00Z","snapshot":{"alert_level":"bad","should_alert":true,"thresholds":{"sigs_increase_threshold_pct":50.0,"rows_increase_threshold_pct":50.0},"points_available":5,"current":{"run_id":"latest","overall":"bad","signatures_with_anomalies":4,"rows_total":12,"sig_delta":3,"sig_delta_pct":300.0,"rows_delta":3,"rows_delta_pct":33.3},"baseline":{"run_id":"20260215T100000Z","overall":"warn","signa
GET /transparency/audit-anomalies/diff/compare.csv Download anomaly type deltas between any two runs as CSV run_a, run_b, include_rows, row_limit n/a
GET /transparency/audit-anomalies/diff/compare.json Compare anomaly type deltas between any two runs run_a, run_b, include_rows, row_limit {"success":true,"run_a":{"selector":"20260215T113203Z","resolved_run":"20260215T113203Z"},"run_b":{"selector":"latest","resolved_run":"latest"},"total_delta":2,"include_rows":false,"rows":[{"type":"outlier_delta","selected":4,"latest":1,"delta":3}]}
GET /transparency/audit-anomalies/diff/export.json Get selected-vs-latest anomaly type diff as JSON run, include_rows, row_limit {"success":true,"selected_run":"20260215T113203Z","latest_generated_at":"2026-02-16T00:00:00Z","selected_total":5,"latest_total":3,"total_delta":2,"include_rows":true,"row_limit":1,"selected_rows_count":1,"latest_rows_count":1,"rows":[{"type":"outlier_delta","selected":4,"latest":1,"delta":3,"pct_delta":300.0}]}
GET /transparency/audit-anomalies/glossary.json Plain-language glossary for anomaly type labels n/a {"success":true,"count":5,"glossary":[{"type":"outlier_delta","description":"Signature has an unusually large owner-level VETS delta."}]}
GET /transparency/audit-anomalies/runs.json List available anomaly runs run {"success":true,"selected_run":"latest","count":2,"runs":[{"run":"latest","label":"Latest (rolling files)","is_complete":true,"is_selected":true},{"run":"20260215T113203Z","label":"2026-02-15 11:32:03 UTC","is_complete":true,"is_selected":false}]}
GET /transparency/audit-anomalies/summary.json Get selected run anomaly summary run, include_top_anomalies, top_limit {"success":true,"selected_run":"latest","selected_label":"Latest (rolling)","summary_available":true,"compare_with_latest":null,"include_top_anomalies":true,"top_limit":5,"top_anomalies_count":2,"top_anomalies":[{"severity":"bad","signature":"abc123","anomaly_types":"outlier_delta","max_abs_delta":1200}]}
GET /transparency/audit-anomalies/threshold-history.json Threshold change history for anomaly detector settings limit {"success":true,"count":1,"rows":[{"changed_at":"2026-03-10T20:30:00Z","parameter":"abs_delta_warn_threshold","previous_value":25000,"new_value":20000,"owner":"ops","reason":"Raise sensitivity"}]}
GET /transparency/audit-anomalies/trend.json Get anomaly trend points run, metric, include_status_counts, severity, signature, types, min_abs_delta, limit {"success":true,"selected_run":"latest","selected_metric":"rows","include_status_counts":true,"status_counts":{"ok":1,"warn":1,"bad":1,"other":0},"count":3,"points":[{"run_id":"20260214T100000Z","label":"2026-02-14 10:00:00 UTC","rows_total":9,"metric":"rows","metric_value":9,"metric_delta":null,"metric_delta_pct":null}]}
GET /transparency/audit-anomalies/triage.json Triage lifecycle snapshot for anomaly signatures status {"success":true,"count":1,"rows":[{"signature":"abc123","status":"investigating","owner":"ops","eta_utc":"2026-03-11T12:00:00Z"}]}
GET /transparency/trust-dashboard.json Consolidated trust dashboard payload n/a {"success":true,"generated_at_utc":"2026-03-10T20:40:00Z","status":{"overall":"ok"},"incidents":[],"anomaly_summary":{},"monthly_digest":[],"wallet_concentration":{"success":true}}
GET /transparency/wallet-concentration.csv Wallet concentration trend export as CSV n/a n/a
GET /transparency/wallet-concentration.json Wallet concentration snapshot and trend points n/a {"success":true,"latest":{"top1_pct":12.4,"top5_pct":37.1,"top10_pct":52.8},"trend_points":[{"generated_at":"2026-03-10T20:00:00Z","top10_pct":52.8}]}

Schemas (0)

Schema Field Count Fields
No schema entries match the current query.