V
Vela
HomeFeaturesIndustriesHow It WorksStoresPricingDevelopers
Request a Demo
HomeFeaturesIndustriesHow It WorksStoresPricingDevelopersRequest a Demo
V
Vela

Digital loyalty that lives in your customers' wallets.

Explore

  • Browse Stores
  • Pricing
  • Request a Demo

Account

  • Sign In
  • My Dashboard
  • Member Portal

Legal

  • Privacy Policy
  • Terms of Service

© 2026 Vela by Sembly. All rights reserved.

All Systems Operational
Vela Public API

Build on Vela

Integrate your POS, website, or app with Vela's loyalty platform. Automate point earning, manage members, redeem rewards, and receive real-time webhooks — all through a simple REST API.

Get Started

Quick Start

1

Get your API key

Generate an API key from your admin dashboard under API & Webhooks. Choose the scopes you need.

2

Make your first call

Send a test request to list your loyalty programs and verify everything works.

3

Go live

Connect your POS or app to the checkout endpoint and start earning points automatically.

Authentication

All API requests must include your API key in the X-API-Key header. Each key is scoped to specific permissions and rate-limited independently.

curl -X GET "https://api.vela.cx/api/v1/programs/" \
  -H "X-API-Key: vela_sk_your_key_here"

Base URL

https://api.vela.cx

All endpoints are prefixed with /api/v1/.

API Scopes

When generating an API key, select only the scopes your integration needs. This follows the principle of least privilege.

ScopeDescription
read:membersList, retrieve, and look up member data
write:membersEnroll new members
read:programsList programs and tiers
read:rewardsList rewards and offers
write:rewardsRedeem rewards for members
write:ledgerCreate transactions (earn/redeem/adjust) and checkout
read:passesRetrieve wallet pass details
write:passesCreate wallet passes

Rate Limiting

Each API key has an independent rate limit (default: 60 requests/minute, configurable per key). When exceeded, the API returns 429 Too Many Requests.

Rate Limit Header

X-RateLimit-Limit

Remaining

X-RateLimit-Remaining

Reset

X-RateLimit-Reset

Error Codes

StatusMeaning
401Missing or invalid API key
403API key lacks required scope
404Resource not found
429Rate limit exceeded
400Invalid request body

POS Integration

The POST /api/v1/checkout/ endpoint is designed for seamless POS integration. When a cashier completes a sale:

  1. POS sends the customer's phone number and purchase amount
  2. Vela automatically finds the member (or enrolls them if new)
  3. Points are calculated based on your program's earn rules
  4. The transaction is recorded and the updated balance is returned
  5. Webhooks fire for points.earned (and member.joined if new)

Use the invoice_id field for idempotency — duplicate invoice IDs are rejected.