Entitlement
Base path: /api/data/entitlement
All entitlement CRUD endpoints are registered but not yet implemented — handlers are empty stubs.
POST /api/data/entitlement
Create a new entitlement record.
Auth: Session cookie required
Tenant: Scoped via x-tenant-id header
Not yet implemented — returns no response.
Entitlement Schema Reference
| Field | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | Tenant identifier |
| userId | string | Yes | User who owns the entitlement |
| orderId | string | Yes | Associated order ID |
| productId | string | Yes | Associated product ID |
| type | enum | Yes | DISCORD_ROLE or DIGITAL_ITEM |
| roleId | string | No | Discord role ID (for DISCORD_ROLE type) |
| status | enum | No | PENDING (default), GRANTED, REVOKED, FAILED |
| metadata | object | No | Arbitrary metadata (default {}) |
| grantedAt | date | No | Timestamp when the entitlement was granted |
| createdAt | date | Yes | Creation timestamp |
| updatedAt | date | Yes | Last update timestamp |
GET /api/data/entitlement/:id
Retrieve an entitlement by ID.
Auth: Session cookie required
Tenant: Scoped via x-tenant-id header
Not yet implemented — returns no response.
PATCH /api/data/entitlement/:id
Update an entitlement by ID.
Auth: Session cookie required
Tenant: Scoped via x-tenant-id header
Not yet implemented — returns no response.
DELETE /api/data/entitlement/:id
Delete an entitlement by ID.
Auth: Session cookie required
Tenant: Scoped via x-tenant-id header
Not yet implemented — returns no response.