Skip to main content

UGiftMe REST API

Server-side integration over /api/v1/business: catalog, orders, wallet, and outbound webhooks using X-API-Key.

Base URLs

All paths in this documentation are prefixed with /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

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 with POST (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 an error 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).

Interactive reference

Open the UGiftMe API Reference tab for the full OpenAPI-driven pages and playground. Narrative detail lives under UGiftMe API.