SpiniX API Documentation

Integrate SpiniX with Zapier, Make, or any HTTP-based automation platform.

Authentication

All API requests require an API key passed via the x-api-key header.

curl -H "x-api-key: YOUR_API_KEY" \
  https://bnumwujvaribzfexpmmc.supabase.co/functions/v1/zapier-auth-test

Contact hello@spinix.so to get your API key.

Base URL

https://bnumwujvaribzfexpmmc.supabase.co/functions/v1

Endpoints

GET /zapier-auth-test

Validate your API key. Use this as the authentication test endpoint in Zapier.

Response (200)

{
  "success": true,
  "account_name": "SpiniX"
}

Error (401)

{
  "error": "Invalid API key"
}
GET /zapier-triggers

Poll for new events. Returns up to 100 results, newest first.

Query parameters

Parameter Type Required Description
trigger_type string Required One of: spin_completed, review_submitted, guest_registered
since ISO 8601 Optional Only return events after this timestamp

Example request

curl -H "x-api-key: YOUR_API_KEY" \
  "https://bnumwujvaribzfexpmmc.supabase.co/functions/v1/zapier-triggers?trigger_type=spin_completed&since=2026-05-01T00:00:00Z"

Trigger types

spin_completed

Fires when a guest spins the prize wheel and wins a reward.

[
  {
    "id": "7bc001e2-...",
    "user_email": "guest@example.com",
    "prize": "Free Dessert",
    "code": "REW-1HWRGI",
    "redeemed": false,
    "created_at": "2026-05-03T21:51:00Z",
    "expires_at": "2026-05-18T21:51:00Z",
    "wheel_project_id": "431ad9be-...",
    "marketing_opt_in": true,
    "contact_preference": "email",
    "phone_number": null
  }
]

review_submitted

Fires when a new Google review is synced for a connected business.

[
  {
    "id": "a169d8a8-...",
    "google_review_id": "AbFvOqnS...",
    "rating": 5,
    "text": "Amazing food and great service!",
    "reviewer_name": "Alice Johnson",
    "owner_response": null,
    "review_date": "2026-05-03T00:00:00Z",
    "created_at": "2026-05-03T04:30:07Z",
    "connection_id": "63bca37d-..."
  }
]

guest_registered

Fires when a new unique guest interacts with a wheel for the first time. Deduplicated by email.

[
  {
    "id": "53272470-...",
    "user_email": "guest@example.com",
    "created_at": "2026-05-03T21:51:00Z",
    "wheel_project_id": "431ad9be-...",
    "marketing_opt_in": true,
    "contact_preference": "email",
    "phone_number": null
  }
]

Error codes

Status Description
400Invalid or missing trigger_type
401Invalid or missing API key
405Method not allowed (only GET is supported)
500Internal server error

Rate limits

API requests are limited to 60 requests per minute per API key. Polling triggers return a maximum of 100 results per request, sorted by newest first.

Support

Questions about the API? Email hello@spinix.so.