UGiftMe REST API
Server-side integration over/api/v1/business: catalog, orders, wallet, and outbound webhooks using X-API-Key.
Base URLs
| Environment | Base URL |
|---|---|
| Sandbox | https://api-stage.ugift.me |
| Production | https://api.ugift.me |
/api/v1/business (for example GET /api/v1/business/auth).
Authentication
Every documented request requires:X-API-Key: <your-api-key>
Keys are UUIDs issued from the dashboard. If your key has an IP allow list, requests must come from an allowed address.
Use GET /api/v1/business/auth to validate a key and retrieve minimal integration metadata (health checks and connection tests).
What you can call
| Area | Role |
|---|---|
| Products | List, filter, and search the catalog available to your key. |
| Orders | Create single or bulk orders; list, search, and fetch by id; poll async order requests. |
| Wallet | Wallets, balances, and transaction history. |
| Webhooks | Register and manage HTTPS endpoints for outbound events (UGiftMe POSTs to your URL). POST, GET, PATCH, DELETE under /webhooks. |
Orders (async)
When async processing is enabled,POST /api/v1/business/orders may return 202 with orderRequestId and status: queued. Poll GET /api/v1/business/orders/order-requests/{id}. Optional Idempotency-Key is supported on create and bulk create.
Webhooks
UGiftMe sends events to URLs you register; your integration receives POST requests only. Manage subscriptions withPOST (create), GET (list), PATCH /{id} (update URL, events, description, or pause via isActive without rotating the secret), and DELETE /{id} (remove).
Allowed events: order.queued, order.processing, order.succeeded, order.failed, product.updated, wallet.updated.
See Webhook deliveries for POST headers, HMAC signature verification, payload shapes, retries, and test endpoints.
Error responses
Failures return JSON with at least anerror string (no global success / action / code envelope). See the API Guide and UGiftMe API Reference tabs for status-specific examples including 403 Forbidden (IP allow list, business profile checks) and 404 Not Found (missing wallet, order, or webhook).
