---
title: "Full player & host action API"
method: POST
path: "/v1/player"
tags: ["Player API"]
---

# Full player & host action API

`POST /v1/player`

## Request

- Base URL: `https://nbhagdwegk.execute-api.us-east-1.amazonaws.com`
- URL: `https://nbhagdwegk.execute-api.us-east-1.amazonaws.com/v1/player`
- Auth: HTTP bearer

Invoke any of ~70 player/host actions by name. Reads need scope `read`, writes `write`, tax actions `tax`, host actions `host`. Examples: list_trips, get_trip, tier_status, bankroll_status, list_w2g, tax_year_summary, freeplay_optimizer, card_recommendation, tier_retention_plan, list_share_links, list_notifications, add_trip, upsert_tier, bankroll_add, create_share_link, manual_w2g, host_dashboard. Admin + key-management actions are rejected (403). For write actions, an `Idempotency-Key` header is accepted (idempotent replay is planned, not yet enforced).

## Headers

- `Idempotency-Key` string, uuid

## Request body

- object
  - `action` 'list_trips' | 'trips_trend' | 'get_trip' | 'list_offers' | 'list_casinos' | 'list_all_casinos' | 'tier_status' | 'list_visits' | 'list_vouchers' | 'bankroll_status' | 'bankroll_trend' | 'plan_trip' | 'trip_planner_estimate' | 'freeplay_optimizer' | 'card_recommendation' | 'tier_retention_plan' | 'list_rewards_programs' | 'list_credit_packages' | 'list_host_reviews' | 'list_share_links' | 'list_consent' | 'slot_leaderboard' | 'list_tier_listings' | 'list_group_trips' | 'list_messages' | 'list_notifications' | 'get_notification_preferences' | 'get_leaderboard_opt_in' | 'get_marketplace_optin' | 'list_support_tickets' | 'list_machines' | 'onboarding_status' | 'get_host_application' | 'add_trip' | 'add_session' | 'start_visit' | 'end_visit' | 'redeem_voucher' | 'bankroll_add' | 'mark_offer_status' | 'add_offer' | 'delete_offer' | 'upsert_tier' | 'delete_tier' | 'create_share_link' | 'revoke_share_link' | 'set_consent_channel' | 'create_tier_listing' | 'claim_tier_listing' | 'create_group_trip' | 'invite_to_group_trip' | 'mark_message_read' | 'mark_notification_read' | 'mark_lead_contacted' | 'set_notification_preferences' | 'set_leaderboard_opt_in' | 'create_support_ticket' | 'upsert_machine' | 'log_machine_play' | 'apply_host' | 'submit_host_review' | 'list_w2g' | 'manual_w2g' | 'create_w2g_scan_session' | 'tax_year_summary' | 'tax_year_export' | 'list_hand_pays' | 'add_hand_pay' | 'list_losses' | 'add_loss' | 'host_dashboard' | 'host_my_leads' | 'host_credits_log' | 'host_roi', required: Player/host action name. read/write need scope read/write; tax actions need tax; host actions need host. (The lead-marketplace actions are omitted pending legal review.)

## Response `200`

Action result (shape depends on the action; always { data: { success, ... } }).

- object

## Other responses

- `400`: Malformed request (e.g. missing or unknown action).
- `401`: Missing or invalid API key.
- `403`: Key missing the required scope (read/write/tax/host), or action not allowed via API key.
- `429`: Rate limit exceeded. Honor Retry-After.
- `500`: Unexpected server error. Retry with exponential backoff.

---

[API](https://skmtc.dev/loyaltyvip/apis/loyaltyvip-api.md) · [All operations](https://skmtc.dev/loyaltyvip/apis/loyaltyvip-api/llms.txt) · [OpenAPI document](https://skmtc.dev/loyaltyvip/apis/loyaltyvip-api/revisions/95a5442b382c?raw)
