Skip to content

    PlayerOS API Documentation

    Available now

    The PlayerOS REST API gives developers and AI agents programmatic access to your player database, multi-channel campaigns, journeys, games, and compliance tooling. Base URL https://api.playeros.ai.

    Authentication for AI agents & integrations

    PlayerOS uses property-scoped API keys. Each key belongs to a single property (tenant) and carries read and/or write scopes, so an agent can request only the access it needs.

    1. Sign in at playeros.ai and open Settings → API Keys.
    2. Click Generate Key, name it (e.g. “Acme AI agent”), and copy the secret. It starts with pk_ and is shown only once — only a hash is stored.
    3. Send the key on every request as the X-Api-Key header.
    Authenticated request
    curl https://api.playeros.ai/api/players \
      -H "X-Api-Key: pk_your_key_here"

    Keys can be revoked anytime from the same screen, or programmatically via POST /api/functions/revoke-api-key. Interactive dashboard sessions may alternatively present a Cognito JWT as Authorization: Bearer <token>.

    Scopes

    readList and retrieve resources — players, campaigns, content, analytics.
    writeCreate, update, send, and delete resources.

    Keys created from the dashboard default to ["read","write"]. Pass an explicit scopes array to create-api-key to issue a read-only key. Every key is bound to one property; a JWT user with multiple properties selects one with the X-Property-Id header.

    Quickstart

    List players (read scope)
    curl "https://api.playeros.ai/api/players?status.eq=active&order=created_at.desc&limit=25" \
      -H "X-Api-Key: pk_your_key_here"
    Send an email campaign (write scope)
    curl -X POST https://api.playeros.ai/api/functions/send-campaign \
      -H "X-Api-Key: pk_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{"campaignId":"<uuid>","propertyId":"<uuid>"}'
    Issue a read-only key (admin JWT)
    curl -X POST https://api.playeros.ai/api/functions/create-api-key \
      -H "Authorization: Bearer <jwt>" \
      -H "Content-Type: application/json" \
      -d '{"property_id":"<uuid>","name":"Reporting agent","scopes":["read"]}'

    What you can do

    Authentication & API Keys

    Property-scoped API keys, scopes, and key management.

    Players API

    List, search, create, and update gaming-specific player profiles.

    Campaigns API

    Create, send, and schedule email and SMS campaigns.

    Content & Journeys

    Manage templates, content items, and journey automation.

    Consent & Compliance

    Record consent, run pre-send TCPA checks, export/delete data.

    Webhooks

    Subscribe to event callbacks with signature verification and retries.

    Table data is available via RESTful CRUD at /api/{table} with PostgREST-style filters (eq, neq, gt, gte, lt, lte, like, ilike, in, is, not). See the OpenAPI specification for the full schema.

    Rate limits

    Each API key carries a configurable rate-limit value (default 100). Authentication endpoints (/api/auth/login and password reset) are additionally throttled per IP and per account; throttled requests return 429 with a retry_after hint.

    Building an integration or agent?

    Generate a key in your dashboard, or talk to us about partner access, webhooks, and the LoyaltyVIP marketplace bridge.